@charset "UTF-8";
html {
  width: 100%;
  height: 100%;
  font-size: 1.1111111111vw;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 0.78125vw;
  }
}
@media screen and (min-width: 1280px) {
  html {
    font-size: 10px;
  }
}

body {
  color: #000;
}
body.active {
  touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow: hidden;
  /* Other browsers */
  overscroll-behavior: none;
}

a {
  text-decoration: none;
  color: #000;
}

a:hover {
  cursor: pointer;
}

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

.u-fc--white {
  color: #FFF;
}
.u-fc--black {
  color: #000;
}
.u-fc--blue {
  color: #0064d7;
}
.u-fc--red {
  color: #e7233b;
}
.u-fc--yellow {
  color: #fff100;
}
.u-fc--green {
  color: #06c755;
}
.u-t--left {
  text-align: left;
}
.u-t--justify {
  text-align: justify;
}
.u-t--center {
  text-align: center;
}
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.c-common-tlbox__lead {
  text-align: center;
}
.c-common-tlbox__lead span {
  font-size: 6rem;
  line-height: 1.3333333333;
  font-family: YakuHanRP, "m-plus-2p", sans-serif;
  font-weight: 900;
}
.c-common-tlbox__lead span .big {
  font-size: 116.6666666667%;
  font-family: YakuHanRP, "m-plus-2p", sans-serif;
  font-weight: 900;
}
.c-common-tlbox__title {
  text-align: center;
  margin-top: 2rem;
}
.c-common-tlbox__title span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.6666666667;
}
.c-link-btn {
  margin: 0 auto;
}
.c-link-btn .a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 14rem;
  border-radius: 9999px;
}
.c-link-btn .a span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
.c-link-btn .a:before {
  display: inline-block;
  content: "";
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left top;
}
.c-link-btn--simulation {
  width: 75rem;
}
.c-link-btn--simulation .a {
  gap: 0rem 2rem;
  background-color: #fff100;
}
.c-link-btn--simulation .a span {
  font-size: 3.494rem;
  line-height: 1.2879221523;
  color: #000;
}
.c-link-btn--simulation .a:before {
  width: 6.88176rem;
  height: 8.47667rem;
  background-image: url(../images/common/icon_simulation_black.svg);
}
.c-link-btn--detail_red {
  width: 47.2rem;
}
.c-link-btn--detail_red .a {
  height: 9.8rem;
  border: 0.7rem solid #e7233b;
  gap: 0rem 1.3rem;
  background-color: #FFF;
}
.c-link-btn--detail_red .a span {
  font-size: 4.2rem;
  line-height: 1;
  color: #e7233b;
}
.c-link-btn--detail_red .a:before {
  width: 3.77019rem;
  height: 4.17857rem;
  background-image: url(../images/common/icon_search_red.svg);
}
.c-link-btn--detail_white {
  width: 55rem;
}
.c-link-btn--detail_white .a {
  height: 5.2rem;
  gap: 0rem 0.6rem;
  background-color: #0064d7;
}
.c-link-btn--detail_white .a span {
  font-size: 2.7rem;
  line-height: 1;
  color: #FFF;
}
.c-link-btn--detail_white .a:before {
  width: 2.44696rem;
  height: 2.71201rem;
  background-image: url(../images/common/icon_search_white.svg);
}
.c-link-btn--download {
  width: 63rem;
}
.c-link-btn--download .a {
  gap: 0rem 1.8rem;
  background-color: #e7233b;
}
.c-link-btn--download .a span {
  font-size: 3.5rem;
  line-height: 1;
  color: #FFF;
}
.c-link-btn--download .a:before {
  width: 5.43021rem;
  height: 6.67061rem;
  background-image: url(../images/common/icon_download_white.svg);
}
.c-link-btn--material_download {
  width: 75rem;
}
.c-link-btn--material_download .a {
  border: 0.3rem solid #FFF;
  gap: 0rem 1.1rem;
  background-color: #e7233b;
}
.c-link-btn--material_download .a span {
  font-size: 3rem;
  line-height: 1;
  color: #FFF;
}
.c-link-btn--material_download .a:before {
  width: 2.60353rem;
  height: 3.23927rem;
  background-image: url(../images/common/icon_download_white.svg);
}
.c-link-btn--contact {
  width: 35.2rem;
}
.c-link-btn--contact .a {
  height: 8.6rem;
  background-color: #FFF;
  border-radius: 2rem;
}
.c-link-btn--contact .a span {
  font-size: 3.8rem;
  line-height: 1;
  color: #0064d7;
}
@media screen and (min-width: 768px) {
  .c-common-tlbox__title {
    margin-top: 1.6rem;
  }
  .c-common-tlbox__title span {
    font-size: 2.4rem;
    line-height: 1.333;
  }
  .c-link-btn .a {
    height: 7rem;
  }
  .c-link-btn--simulation {
    width: 66.4rem;
  }
  .c-link-btn--simulation .a {
    gap: 0rem 0.88rem;
  }
  .c-link-btn--simulation .a span {
    font-size: 3rem;
    line-height: 1.3333333333;
  }
  .c-link-btn--simulation .a:before {
    width: 2.6rem;
    height: 3.20257rem;
  }
  .c-link-btn--detail_red {
    width: 33.6rem;
  }
  .c-link-btn--detail_red .a {
    height: 7rem;
    border: 0.5rem solid #e7233b;
    gap: 0rem 0.9rem;
  }
  .c-link-btn--detail_red .a span {
    font-size: 3rem;
    line-height: 1.3333333333;
  }
  .c-link-btn--detail_red .a:before {
    width: 2.68387rem;
    height: 2.97457rem;
  }
  .c-link-btn--detail_white {
    width: 46.8rem;
  }
  .c-link-btn--detail_white .a {
    height: 4.4rem;
    gap: 0rem 0.5rem;
  }
  .c-link-btn--detail_white .a span {
    font-size: 2.3rem;
    line-height: 1.1739130435;
  }
  .c-link-btn--detail_white .a:before {
    width: 2.08387rem;
    height: 2.30958rem;
  }
  .c-link-btn--download {
    width: 43rem;
  }
  .c-link-btn--download .a {
    gap: 0rem 0.67rem;
  }
  .c-link-btn--download .a span {
    font-size: 2.6rem;
    line-height: 1.3461538462;
  }
  .c-link-btn--download .a:before {
    width: 2.32374rem;
    height: 2.85452rem;
  }
  .c-link-btn--material_download {
    width: 66.4rem;
  }
  .c-link-btn--material_download .a {
    gap: 0rem 1rem;
  }
  .c-link-btn--material_download .a span {
    font-size: 3rem;
    line-height: 1.3333333333;
  }
  .c-link-btn--material_download .a:before {
    width: 2.80356rem;
    height: 3.43928rem;
  }
  .c-link-btn--contact {
    width: 25rem;
  }
  .c-link-btn--contact .a {
    height: 6.1rem;
    border-radius: 1.4rem;
  }
  .c-link-btn--contact .a span {
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0;
  }
}

@media screen and (min-width: 768px) {
  .addclassOn {
    transition: opacity 300ms ease;
  }
  .addclassOn.on {
    opacity: 0.8;
  }
  .addclassOn.on {
    cursor: pointer;
  }
}
#header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 10;
  background-color: #fff;
}
#header .header-in {
  position: relative;
  padding: 2.5rem 0rem 0rem 0rem;
}
#header .header-in .logo {
  width: 40.72043rem;
  margin: 0rem 0rem 0rem 2.2rem;
}
#header .header-in #navi {
  padding: 1.5rem 0rem 0rem 0rem;
}
#header .header-in #navi ul {
  width: 84rem;
  margin: 0 auto;
  border-top: 1px solid #000;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0rem 8.8rem;
}
#header .header-in #navi ul li a {
  padding: 2rem 0rem 2rem 0rem;
  display: block;
}
#header .header-in #navi ul li span {
  font-size: 2.6rem;
  line-height: 1;
  color: #000;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#header .header-in #navi .navi_contact {
  position: absolute;
  right: 2.6rem;
  top: 3.8rem;
}
#header .header-in #navi .navi_contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26.1rem;
  height: 9.4rem;
  background-color: #0064d7;
  border: 0.4rem solid #FFF;
  border-radius: 2rem;
  box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.3);
}
#header .header-in #navi .navi_contact a span {
  font-size: 3.8rem;
  line-height: 1;
  color: #FFF;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #header .header-in {
    padding: 2rem 0rem 1.6rem 0rem;
    max-width: 1280px;
    margin: 0 auto;
  }
  #header .header-in .logo {
    width: 28.12043rem;
    margin: 0rem 0rem 0rem 1rem;
  }
  #header .header-in #navi {
    padding: 3.6rem 0rem 0rem 0rem;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0rem;
    right: 1.6rem;
    justify-content: flex-end;
    gap: 0rem 3.6rem;
  }
  #header .header-in #navi ul {
    width: auto;
    margin: 0;
    border-top: none;
    gap: 0rem 3.8rem;
  }
  #header .header-in #navi ul li span {
    font-size: 2rem;
    line-height: 1;
  }
  #header .header-in #navi .navi_contact {
    position: static;
  }
  #header .header-in #navi .navi_contact a {
    width: 12.6rem;
    height: 4.8rem;
    border-radius: 9999px;
  }
  #header .header-in #navi .navi_contact a span {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0em;
  }
}

#footer .footer-in {
  padding: 6.6rem 0rem 4.8rem 0rem;
}
#footer .footer-in .footer-box {
  display: flex;
  gap: 2rem 0rem;
  flex-direction: column;
  align-items: center;
  padding: 0rem 0rem 3.8rem 0rem;
}
#footer .footer-in address {
  width: 75.2rem;
  margin: 0 auto;
  border-top: 1px solid #000;
  display: block;
  padding-top: 3.4rem;
  text-align: center;
}
#footer .footer-in address span {
  font-size: 2rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#footer .footer__img {
  width: 26.2rem;
  aspect-ratio: 262/111;
}
#footer .footer__add {
  text-align: center;
}
#footer .footer__add span {
  font-size: 2rem;
  line-height: 1.5;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #footer .footer-in {
    padding: 5rem 0rem 6rem 0rem;
  }
  #footer .footer-in .footer-box {
    gap: 0rem 4.2rem;
    flex-direction: row;
    padding: 0rem 0rem 3.8rem 0rem;
    justify-content: center;
  }
  #footer .footer-in address {
    width: 96rem;
    padding-top: 4rem;
  }
  #footer .footer-in address span {
    font-size: 2.5rem;
    line-height: 1;
  }
  #footer .footer__img {
    width: 33.21965rem;
    aspect-ratio: 665/282;
  }
  #footer .footer__add {
    text-align: left;
  }
  #footer .footer__add span {
    font-size: 2.5rem;
    line-height: 1.44;
  }
}

#main {
  padding-top: 22.5rem;
}
#main .main {
  background-color: #d2ebff;
}
#main .main .section-in {
  padding: 8rem 0rem 6rem 0rem;
}
#main .main__tl01 {
  text-align: center;
}
#main .main__tl01 span {
  font-size: 5rem;
  line-height: 1.3772;
  font-family: YakuHanRP, "m-plus-2p", sans-serif;
  font-weight: 700;
}
#main .main__text01 {
  text-align: center;
  margin: 1rem 0rem 0rem 0rem;
}
#main .main__text01 span {
  font-size: 9.42rem;
  line-height: 1.2101910828;
  font-family: YakuHanRP, "m-plus-2p", sans-serif;
  font-weight: 900;
}
#main .main__text01 span small {
  font-family: YakuHanRP, "m-plus-2p", sans-serif;
  font-weight: 900;
  font-size: 80%;
}
#main .main .simulation {
  margin: 4.6rem 0rem 0rem 0rem;
}
#main .main .simulation > p {
  text-align: center;
  margin: 0rem 0rem 2rem 0rem;
}
#main .main .simulation > p span {
  font-size: 3.909rem;
  line-height: 1.3461243285;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .main .simulation .simulation-error {
  margin-top: 1rem;
}
#main .main .simulation .simulation-error span {
  color: #e7233b;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1;
}
#main .main .simulation__box {
  width: 75rem;
  margin: 0 auto;
  background-color: #FFF;
  padding: 3rem 0rem;
  border-radius: 2rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
}
#main .main .simulation__box input, #main .main .simulation__box select, #main .main .simulation__box button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  width: 100%;
  height: 5.4rem;
  border: 0.2rem solid #808080;
  padding: 0rem 1rem;
  border-radius: 1rem;
  font-size: 2rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  color: #000;
}
#main .main .simulation__box input::-moz-placeholder, #main .main .simulation__box select::-moz-placeholder, #main .main .simulation__box button::-moz-placeholder {
  color: #cbcbcb;
}
#main .main .simulation__box input::placeholder, #main .main .simulation__box select::placeholder, #main .main .simulation__box button::placeholder {
  color: #cbcbcb;
}
#main .main .simulation__list {
  display: flex;
  gap: 0rem 3rem;
  justify-content: center;
}
#main .main .simulation__list > div {
  width: 30rem;
}
#main .main .simulation__list label {
  margin: 0rem 0rem 1.7rem 0rem;
  display: block;
}
#main .main .simulation__list label span {
  font-size: 3rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .main .simulation__list .select,
#main .main .simulation__list .input {
  position: relative;
}
#main .main .simulation__list .select select,
#main .main .simulation__list .select input,
#main .main .simulation__list .input select,
#main .main .simulation__list .input input {
  padding-block: 0.5rem 0.5rem;
}
#main .main .simulation__list .select:after,
#main .main .simulation__list .input:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 1.54739rem;
  height: 3.4473rem;
  background: url("../images/simulation_icon01.svg") no-repeat left top;
  background-size: 100% auto;
}
#main .main .simulation__list .select:after {
  right: 1.4rem;
}
#main .main .simulation__list .input:after {
  right: 5.2rem;
}
#main .main .simulation__list .input:before {
  content: "PV";
  font-size: 2rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  position: absolute;
  right: 1.4rem;
  top: 50%;
  transform: translateY(-50%);
  color: #000;
}
#main .main .simulation__btn {
  width: 63rem;
  margin: 2.8rem auto 0rem auto;
}
#main .main .simulation__btn button {
  height: 100%;
  border: none;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 9999px;
  background-color: #e7233b;
  height: 7rem;
}
#main .main .simulation__btn button span {
  color: #FFF;
  font-size: 3rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .main .simulation__btn button:before {
  display: inline-block;
  content: "";
  width: 2.6rem;
  height: 3.20257rem;
  background: url("../images/simulation_icon02.svg") no-repeat left top;
  background-size: 100% auto;
  margin-right: 0.8rem;
}
#main .main .simulation__btn button:hover {
  cursor: pointer;
}
#main .result {
  background-color: #d2ebff;
}
#main .result .section-in {
  padding: 8rem 0rem 4rem 0rem;
}
#main .result .section-in .result-tl {
  text-align: center;
  margin-bottom: 4rem;
}
#main .result .section-in .result-tl span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  color: #0064d7;
  font-size: 5rem;
  line-height: 1;
}
#main .result .section-in .result-tl span.small {
  font-size: 80%;
}
#main .result .section-in .result-box {
  display: flex;
  flex-direction: column;
  gap: 2.3rem;
}
#main .result .section-in .result-box > div {
  width: 73.6rem;
  margin: 0 auto;
  display: flex;
  min-height: 22rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
  background-color: #FFF;
  border-radius: 2rem;
  padding: 2rem 2rem;
}
#main .result .section-in .result-box > div .tl {
  width: 21.3rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #0064d7;
  border-radius: 2rem;
  gap: 0.5rem;
}
#main .result .section-in .result-box > div .tl span {
  color: #FFF;
  font-size: 3.5rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .result .section-in .result-box > div .tl span.small {
  font-size: 2.45rem;
  line-height: 1;
}
#main .result .section-in .result-box > div .tl:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(100%, -50%);
  width: 1.9rem;
  height: 2.2rem;
  background-color: #0064d7;
  clip-path: polygon(0% 0%, 0% 100%, 100% 50%);
}
#main .result .section-in .result-box > div .num {
  width: 48.8rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
#main .result .section-in .result-box > div .num span {
  text-align: center;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 6.5rem;
  line-height: 1;
}
#main .result .section-in .result-btn {
  width: 63rem;
  margin: 4.5rem auto 0rem auto;
}
#main .result .section-in .result-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #e7233b;
  border-radius: 3.5rem;
  height: 14rem;
}
#main .result .section-in .result-btn a span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1;
  color: #FFF;
}
#main .result .section-in .cap {
  text-align: center;
  margin-top: 4rem;
}
#main .result .section-in .cap span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.375;
}
#main .nayami .section-in {
  padding: 10.6rem 0rem 7rem 0rem;
}
#main .nayami .c-common-tlbox__lead {
  margin: 0rem 0rem 2.6rem 0rem;
  display: flex;
  gap: 0rem 3.5rem;
  justify-content: center;
}
#main .nayami .c-common-tlbox__lead .icon {
  width: 23.4rem;
  aspect-ratio: 234/163;
}
#main .nayami .c-common-tlbox__lead span {
  text-align: left;
}
#main .nayami .nayami-img {
  width: 77.3rem;
  height: 123.9rem;
  margin: 2.9rem auto 0rem auto;
}
#main .frontliner {
  background-color: #0064d7;
}
#main .frontliner .section-in {
  padding: 9rem 0rem;
}
#main .frontliner .section-in .frontliner__box {
  display: flex;
  flex-direction: column;
  gap: 6.5rem 0rem;
  align-items: center;
}
#main .frontliner .section-in .frontliner__box .c-common-tlbox__lead {
  text-align: left;
}
#main .frontliner .section-in .frontliner__box .c-common-tlbox__lead span {
  font-size: 5.3rem;
  line-height: 1.4339622642;
}
#main .frontliner .section-in .frontliner__box .frontliner-img {
  width: 59.8rem;
  aspect-ratio: 598/125;
}
#main .frontliner .section-in .check-box {
  display: flex;
  gap: 0rem 4.5rem;
  justify-content: center;
  margin-top: 7.8rem;
}
#main .frontliner .section-in .check-box > div {
  width: 20rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem 0rem;
}
#main .frontliner .section-in .check-box > div .icon {
  width: 8.4rem;
  height: 8.4rem;
  margin: 0 auto;
}
#main .frontliner .section-in .check-box > div .text {
  text-align: center;
}
#main .frontliner .section-in .check-box > div .text span {
  color: #FFF;
  font-size: 4rem;
  line-height: 1.325;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .frontliner .section-in .btn-box {
  display: flex;
  flex-direction: column;
  gap: 4rem 0rem;
  align-items: center;
  margin-top: 6.5rem;
}
#main .client .section-in {
  padding: 1.8rem 0rem 1.1rem 0rem;
}
#main .client .section-in .loopSlide {
  overflow: hidden;
  width: 100%;
}
#main .client .section-in .loopSlide .loopSlide__track {
  display: flex;
  gap: 0;
  width: -moz-max-content;
  width: max-content;
  gap: 0rem 2rem;
}
#main .client .section-in .loopSlide .loopSlide__track--active {
  animation: marqueeScroll 20s linear infinite;
}
#main .client .section-in .loopSlide .loopSlide__track--reverse {
  animation-direction: reverse;
}
#main .client .section-in .loopSlide .loopSlide__item {
  flex-shrink: 0;
  width: 179.1rem;
  aspect-ratio: 1791/151;
}
#main .client .section-in .loopSlide .loopSlide__item picture {
  display: block;
  width: 100%;
}
#main .client .section-in .loopSlide .loopSlide__item img {
  display: block;
  width: 100%;
  height: auto;
}
#main .kadai {
  background-color: #d2ebff;
}
#main .kadai .section-in {
  padding: 10rem 0rem 2.2rem 0rem;
}
#main .kadai__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem 0rem;
  margin: 5rem 0rem 7rem 0rem;
}
#main .kadai__item {
  width: 75rem;
  position: relative;
  background-color: #FFF;
  padding: 3.5rem 0rem 3.5rem 2.8rem;
  border-radius: 1.7rem;
  display: flex;
  align-items: center;
  gap: 0rem 1.9rem;
}
#main .kadai__item:after {
  content: "";
  position: absolute;
  width: 9.4rem;
  height: 10.8rem;
  background: url("../images/kadai_fuki01_sp.svg") no-repeat left top;
  background-size: 100% auto;
  right: -5.9rem;
  top: 6.4rem;
  z-index: 1;
}
#main .kadai__item:nth-child(even):after {
  right: auto;
  top: auto;
  left: -5.9rem;
  bottom: 6.4rem;
  background: url("../images/kadai_fuki02_sp.svg") no-repeat left top;
  background-size: 100% auto;
}
#main .kadai__item:nth-child(1) .kadai__img {
  width: 28.5rem;
  right: -6.2rem;
  bottom: 1.2rem;
}
#main .kadai__item:nth-child(2) .kadai__img {
  width: 17.2rem;
  right: 2.5rem;
  bottom: -1rem;
}
#main .kadai__item:nth-child(3) .kadai__img {
  width: 15.1rem;
  right: 2.2rem;
  bottom: 3.6rem;
}
#main .kadai__icon {
  width: 10rem;
  height: 10rem;
  position: relative;
  z-index: 2;
}
#main .kadai__text h3 span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 3.9rem;
  line-height: 1.0769230769;
}
#main .kadai__text p {
  margin-top: 1.5rem;
}
#main .kadai__text p span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  font-size: 3rem;
  line-height: 1.4333333333;
}
#main .kadai__img {
  position: absolute;
  z-index: 2;
}
#main .kadai__num-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #0064d7;
  padding: 4rem 0rem 5rem 0rem;
}
#main .kadai__num-box > div {
  border-bottom: 1px solid #FFF;
  padding: 3rem 0rem 3rem 0rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0rem 4.5rem;
  width: 70rem;
}
#main .kadai__num-box > div p {
  width: 36rem;
  text-align: center;
}
#main .kadai__num-box > div p span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 7rem;
  line-height: 1;
  color: #FFF;
}
#main .kadai__num-box > div p span small {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 60%;
}
#main .kadai__num-box > div h4 {
  flex: 1;
}
#main .kadai__num-box > div h4 span {
  color: #FFF;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.3333333333;
}
#main .kadai__num-box > div:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
#main .kadai__cap {
  width: 75rem;
  margin: 1.2rem auto 0rem auto;
}
#main .kadai__cap span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 1.375;
}
#main .solution .section-in {
  padding: 10rem 0rem 0rem 0rem;
}
#main .solution__step {
  width: 75rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 6.5rem 0rem;
  margin-top: 8.2rem;
}
#main .solution__step > div {
  display: flex;
  gap: 0rem 2.6rem;
  position: relative;
}
#main .solution__step > div:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1.5rem;
  transform: translate(-50%, 100%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 3.4rem solid transparent;
  border-left: 3.4rem solid transparent;
  border-top: 2.8rem solid #0064d7;
  border-bottom: 0;
}
#main .solution__step > div:last-child:after {
  display: none;
}
#main .solution__num {
  width: 12.5rem;
  height: 12.5rem;
  background-color: #0064d7;
  border-radius: 2rem;
  padding-bottom: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#main .solution__num span {
  font-size: 4.929rem;
  line-height: 1.1298437817;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  text-align: center;
  color: #FFF;
}
#main .solution__num span small {
  font-size: 60%;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  display: inline-block;
  width: 100%;
}
#main .solution__box {
  flex: 1;
}
#main .solution__head {
  display: flex;
  gap: 0rem 1.2rem;
  align-items: center;
}
#main .solution__head h3 span {
  color: #0064d7;
  font-size: 4rem;
  line-height: 1.25;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .solution__icon {
  width: 7rem;
}
#main .solution__body {
  margin-top: 1rem;
}
#main .solution__text {
  text-align: justify;
}
#main .solution__text span {
  font-size: 2.6rem;
  line-height: 1.5;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .solution__img {
  margin: 2rem 0rem 0rem auto;
  width: 82.6rem;
  aspect-ratio: 826/916;
}
#main .reason {
  background-color: #d2ebff;
}
#main .reason .section-in {
  padding: 10rem 0rem 10.8rem 0rem;
}
#main .reason__list {
  display: flex;
  flex-direction: column;
  gap: 4.5rem 0rem;
  margin-top: 5rem;
  align-items: center;
}
#main .reason__item {
  width: 75rem;
  border: 0.5rem solid #0064d7;
  background-color: #FFF;
  padding: 5rem 0rem 7rem 4.4rem;
  border-radius: 2.3rem;
  position: relative;
}
#main .reason__item:after {
  content: "";
  position: absolute;
  top: -0.5rem;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 1.15852rem;
  aspect-ratio: 9.0442/15.0938;
  background: url(../images/reason_icon00.svg) no-repeat left top;
  background-size: 100% auto;
}
#main .reason__head {
  display: flex;
  gap: 0rem 1rem;
  align-items: center;
}
#main .reason__head h3 span {
  color: #e7233b;
  font-size: 5.5rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .reason__icon {
  width: 9.9rem;
  height: 9.9rem;
}
#main .reason__body {
  margin-top: 0.5rem;
  padding-left: 10.9rem;
}
#main .reason__check {
  display: flex;
  flex-direction: column;
  gap: 1.2rem 0rem;
}
#main .reason__check li {
  display: flex;
  align-items: center;
  gap: 0rem 1.4rem;
}
#main .reason__check li span {
  font-size: 3.958rem;
  line-height: 1.2726124305;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .reason__check li:before {
  content: "";
  width: 5.3rem;
  aspect-ratio: 1;
  background: url(../images/common/icon_check01.svg) no-repeat left top;
  background-size: 100% auto;
}
#main .reason__text {
  margin-bottom: 2rem;
  text-align: justify;
  padding-right: 3rem;
}
#main .reason__text span {
  font-size: 2.562rem;
  line-height: 1.400078064;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .reason__cap {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0rem 2rem 1.3rem 0rem;
}
#main .reason__cap span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 300;
  font-size: 2rem;
  line-height: 1.4;
}
#main .comparison {
  background-color: #0064d7;
}
#main .comparison .section-in {
  padding: 10rem 0rem 9.4rem 0rem;
}
#main .comparison .c-common-tlbox__lead span, #main .comparison .c-common-tlbox__title span {
  color: #FFF;
}
#main .comparison__table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 2.5rem 3rem;
  background-color: #FFF;
  margin-top: 3.4rem;
  display: flex;
  justify-content: flex-start;
}
#main .comparison__table {
  width: 120rem;
  flex-shrink: 0;
  border-left: 1px solid #000;
  border-collapse: separate;
  border-spacing: 0;
}
#main .comparison__table th, #main .comparison__table td {
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  font-size: 2.5rem;
  line-height: 1.3;
  text-align: center;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  background-color: #FFF;
  padding: 1rem 0rem;
  position: relative;
  vertical-align: middle;
  height: 8.8rem;
}
#main .comparison__table th.highlight, #main .comparison__table td.highlight {
  background-color: #fde9eb !important;
}
#main .comparison__table th.highlight::after, #main .comparison__table td.highlight::after {
  content: "";
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: -0.35rem;
  right: -0.35rem;
  border-left: 0.7rem solid #e7233b;
  border-right: 0.7rem solid #e7233b;
  pointer-events: none;
}
#main .comparison__table thead th {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.3;
  background-color: #cbcbcb;
  border-top: 1px solid #000;
}
#main .comparison__table thead th.highlight {
  background-color: #e7233b !important;
  color: #FFF;
  border-color: transparent;
}
#main .comparison__table thead th.highlight::before {
  content: "";
  position: absolute;
  top: -0.35rem;
  left: -0.35rem;
  right: -0.35rem;
  height: 0.7rem;
  background-color: #e7233b;
  pointer-events: none;
}
#main .comparison__table tbody tr:last-child td.highlight {
  border-color: #e7233b;
}
#main .comparison__table tbody tr:last-child td.highlight::before {
  content: "";
  position: absolute;
  bottom: -0.35rem;
  left: -0.35rem;
  right: -0.35rem;
  height: 0.7rem;
  background-color: #e7233b;
  pointer-events: none;
}
#main .comparison__table tbody tr:nth-child(even) th, #main .comparison__table tbody tr:nth-child(even) td {
  background-color: #cbcbcb;
}
#main .comparison__note {
  margin: 6.4rem auto 0rem auto;
  width: 75rem;
  border: 0.2rem solid #FFF;
  border-radius: 2.3rem;
  padding: 2.5rem 0rem;
  position: relative;
}
#main .comparison__note::before, #main .comparison__note::after {
  content: "";
  position: absolute;
  width: 4.9rem;
  height: 4.2rem;
  background-color: #FFF;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
#main .comparison__note::before {
  background-color: #FFF;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  box-shadow: calc(-50vw - 4.9rem / 2) 4.2rem 0 0 #FFF, calc(50vw + 4.9rem / 2) 4.2rem 0 0 #FFF;
}
#main .comparison__note::after {
  background-color: #0064d7;
  top: 0;
  left: 50%;
  transform: translate(-50%, calc(-100% + 0.2rem));
}
#main .comparison__note p {
  text-align: center;
}
#main .comparison__note p span {
  font-size: 3rem;
  line-height: 1.6666666667;
  color: #FFF;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .company {
  background-color: #000;
}
#main .company .section-in {
  padding: 8rem 0rem 9rem 0rem;
}
#main .company .c-common-tlbox__lead span {
  color: #06c755;
}
#main .company .c-common-tlbox__title span {
  color: #FFF;
}
#main .company__box {
  width: 75rem;
  margin: 5.2rem auto 0rem auto;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "area-a area-b" "area-c area-c";
}
#main .company__box > div {
  background-color: #FFF;
  padding: 4rem 3rem 5rem 3rem;
  border-radius: 2rem;
}
#main .company__box > div:nth-child(1) {
  grid-area: area-a;
}
#main .company__box > div:nth-child(1) .img {
  width: 21.9rem;
  aspect-ratio: 219/170;
  margin: 1.5rem auto 0rem auto;
}
#main .company__box > div:nth-child(2) {
  grid-area: area-b;
}
#main .company__box > div:nth-child(3) {
  grid-area: area-c;
}
#main .company__box > div h3 {
  text-align: center;
}
#main .company__box > div h3 span {
  font-size: 4rem;
  line-height: 1.25;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  color: #06c755;
}
#main .company__box > div .text {
  text-align: justify;
}
#main .company__box > div .text span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .company__box > div .text.text01 {
  text-align: center;
  margin-top: 1.5rem;
}
#main .company__box > div .text.text01 span {
  font-size: 3rem;
  line-height: 1.3333333333;
}
#main .company__box > div .text.text02 span {
  font-size: 2.4rem;
  line-height: 1.5;
}
#main .company__icon {
  width: 8rem;
  aspect-ratio: 1;
  margin: 0rem auto 1rem auto;
}
#main .company__flex {
  display: flex;
  gap: 0rem 2.4rem;
  margin: 3rem 0rem 0rem 0rem;
}
#main .company__flex .ph {
  width: 30.3rem;
  aspect-ratio: 303/387;
}
#main .company__flex .info {
  flex: 1;
}
#main .service {
  background-color: #0064d7;
}
#main .service .section-in {
  padding: 10rem 0rem 8rem 0rem;
}
#main .service .c-common-tlbox__lead span {
  color: #FFF;
}
#main .service .c-common-tlbox__title span {
  color: #FFF;
}
#main .service .tab-box {
  margin-top: 8.8rem;
}
#main .service .tab-btn {
  display: flex;
  gap: 0rem 2rem;
  justify-content: center;
}
#main .service .tab-btn > div {
  width: 23.6rem;
}
#main .service .tab-btn > div a {
  position: relative;
  display: flex;
  height: 11.5rem;
  align-items: center;
  background-color: #FFF;
  border-radius: 1.8rem;
  justify-content: center;
}
#main .service .tab-btn > div a .icon {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10rem;
  aspect-ratio: 1;
  top: 0;
  padding-top: 2rem;
  background-color: #FFF;
  border-radius: 50%;
  text-align: center;
  z-index: 1;
}
#main .service .tab-btn > div a span {
  text-align: center;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  color: #e7233b;
  font-size: 3rem;
  line-height: 1.3333333333;
  position: relative;
  z-index: 2;
}
#main .service .tab-btn > div:nth-child(1) a .icon img {
  width: 5.4rem;
}
#main .service .tab-btn > div:nth-child(2) a .icon {
  padding-top: 1.6rem;
}
#main .service .tab-btn > div:nth-child(2) a .icon img {
  width: 4.16rem;
}
#main .service .tab-btn > div:nth-child(3) a .icon img {
  width: 4.58rem;
}
#main .service .tab-body {
  display: flex;
  flex-direction: column;
  margin: 4rem 0rem 0rem 0rem;
  gap: 4rem 0rem;
  align-items: center;
}
#main .service .tab-body > div {
  width: 75rem;
  background-color: #FFF;
  padding: 6rem 6.5rem 6rem 6.5rem;
  border-radius: 2rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
}
#main .service__tl-box {
  display: flex;
  gap: 0rem 2.9rem;
  align-items: center;
}
#main .service__tl-box .icon--01 {
  width: 12.25677rem;
  aspect-ratio: 122.5677/83.4328;
}
#main .service__tl-box .icon--02 {
  width: 9.80586rem;
  aspect-ratio: 98.0586/93.4313;
}
#main .service__tl-box .icon--03 {
  width: 9.80586rem;
  aspect-ratio: 98.0586/93.4313;
}
#main .service__tl-box h3 span {
  font-size: 5rem;
  line-height: 1.4;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  color: #e7233b;
}
#main .service__text {
  margin-top: 1.7rem;
  text-align: justify;
}
#main .service__text span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
}
#main .service__check {
  display: flex;
  flex-direction: column;
  gap: 0.8rem 0rem;
  margin-top: 2.8rem;
}
#main .service__check li {
  display: flex;
  align-items: center;
  gap: 0rem 1.1rem;
}
#main .service__check li span {
  font-size: 3rem;
  line-height: 1.75;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .service__check li:before {
  content: "";
  width: 4rem;
  aspect-ratio: 1;
  background: url(../images/common/icon_check01.svg) no-repeat left top;
  background-size: 100% auto;
}
#main .service__box {
  border: 0.229rem solid #0064d7;
  border-radius: 1.14rem;
  width: 62rem;
  margin: 3.4rem auto 0rem auto;
  padding: 4rem 0rem;
}
#main .service__box .text {
  text-align: justify;
}
#main .service__box .text span {
  font-size: 2rem;
  line-height: 1.5;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .service__box .text--02 {
  text-align: center;
}
#main .service__box .text--02 span {
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.4;
}
#main .service__subti {
  border-radius: 9999px;
  background-color: #0064d7;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
#main .service__subti span {
  color: #FFF;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .service #service01 .service__box {
  padding-left: 4rem;
  padding-right: 4rem;
}
#main .service #service01 .service__subti {
  width: 19.9rem;
  height: 4rem;
  margin-bottom: 1.2rem;
}
#main .service #service01 .service__subti span {
  font-size: 2.5rem;
  line-height: 1;
}
#main .service #service01 .text {
  text-align: justify;
}
#main .service #service01 .text span {
  font-size: 2.4rem;
  line-height: 1.5;
}
#main .service #service01 .service__img {
  aspect-ratio: 540/750;
  margin-top: 1.5rem;
}
#main .service #service02 .service__box {
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  position: relative;
  border: none;
  background-color: #d2ebff;
  margin-top: 6.8rem;
}
#main .service #service02 .service__subti {
  height: 5rem;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  padding: 0rem 3rem;
}
#main .service #service02 .service__subti span {
  white-space: nowrap;
  font-size: 3rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .service #service02 .flex {
  display: flex;
  flex-direction: column;
  gap: 2rem 0rem;
  align-items: center;
}
#main .service #service02 .flex > div {
  background-color: #FFF;
  width: 57.2rem;
  display: flex;
  align-items: center;
  border-radius: 2rem;
  padding-top: 2.4rem;
}
#main .service #service02 .flex .text-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#main .service #service02 .flex .service__img {
  width: 28.1rem;
  aspect-ratio: 281/396;
  margin-top: 0;
}
#main .service #service02 .flex .icon {
  width: 6.72rem;
}
#main .service #service02 .flex .tl {
  margin: 1.2rem 0rem 1.2rem 0rem;
  text-align: center;
}
#main .service #service02 .flex .tl span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1;
  color: #e7233b;
}
#main .service #service02 .service__img {
  aspect-ratio: 540/750;
  margin-top: 1.5rem;
}
#main .service #service03 .list-box {
  display: flex;
  flex-direction: column;
  gap: 2rem 0rem;
  justify-content: center;
  margin-top: 3rem;
}
#main .service #service03 .list-box > div {
  border: 0.4rem solid #0064d7;
  border-radius: 2rem;
  padding: 2.5rem 3rem 3rem 3rem;
  width: 62rem;
}
#main .service #service03 .list-box > div .tl-box {
  display: flex;
  align-items: center;
  gap: 0rem 1.45rem;
}
#main .service #service03 .list-box > div .tl-box .icon {
  width: 6.57576rem;
  aspect-ratio: 1;
}
#main .service #service03 .list-box > div .tl-box .tl span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 3.523rem;
  line-height: 1;
  color: #e7233b;
}
#main .service #service03 .list-box > div > p {
  text-align: justify;
  margin: 1.2rem 0rem 2.2rem 0rem;
}
#main .service #service03 .list-box > div > p span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  font-size: 2.231rem;
  line-height: 1.4737785746;
}
#main .case {
  background-color: #d2ebff;
}
#main .case .section-in {
  padding: 9rem 0rem;
  position: relative;
}
#main .case .section-in:after {
  content: "";
  position: absolute;
  top: 2.9rem;
  right: 2rem;
  width: 21.74813rem;
  aspect-ratio: 1;
  background: url(../images/case_fuki01_sp.svg) no-repeat left top;
  background-size: 100% auto;
}
#main .case__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  width: 75rem;
  margin: 5.5rem auto 0rem auto;
}
#main .case__list > div {
  background-color: #FFF;
  border-radius: 2rem;
  width: 36.5rem;
  overflow: hidden;
}
#main .case__list > div.health .case__list-tl-box {
  background-color: #ff8327;
}
#main .case__list > div.health .case__list-img {
  padding: 3.1rem 0rem 4.8rem 0rem;
}
#main .case__list > div.health .case__list-img img {
  width: 19.1rem;
  aspect-ratio: 191/238;
}
#main .case__list > div.apparel .case__list-tl-box {
  background-color: #20b6f9;
}
#main .case__list > div.apparel .case__list-img {
  padding: 2.3rem 0rem 0rem 0rem;
}
#main .case__list > div.apparel .case__list-img img {
  width: 21.5rem;
  aspect-ratio: 215/233;
}
#main .case__list > div.beauty .case__list-tl-box {
  background-color: #ff88b1;
}
#main .case__list > div.beauty .case__list-img {
  padding: 2.06rem 0rem 1.5rem 0rem;
}
#main .case__list > div.beauty .case__list-img img {
  width: 24.5rem;
  aspect-ratio: 245/282;
}
#main .case__list > div.aga .case__list-tl-box {
  background-color: #5cc7a8;
}
#main .case__list > div.aga .case__list-img {
  padding: 7.3rem 0rem 0rem 0rem;
}
#main .case__list > div.aga .case__list-img img {
  width: 23.5rem;
  aspect-ratio: 235/182;
}
#main .case__list-tl-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 15.5rem;
  padding-top: 1.1rem;
}
#main .case__list-tl-box .icon {
  width: 8rem;
  aspect-ratio: 1;
}
#main .case__list-tl-box .tl span {
  text-align: center;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1;
  color: #FFF;
}
#main .case__list-img {
  text-align: center;
}
#main .case__box {
  display: flex;
  flex-direction: column;
  gap: 2rem 0rem;
  width: 75rem;
  margin: 7.8rem auto 0rem auto;
}
#main .case__box > div {
  box-shadow: 0 0 1rem rgba(237, 108, 0, 0.3);
  background-color: #FFF;
  border-radius: 2rem;
  padding: 0rem 5rem 8rem 5rem;
}
#main .case__box > div.valx .logo {
  width: 27rem;
  aspect-ratio: 270/128.7541;
  margin-top: 7.2rem;
  margin-bottom: 3.1rem;
}
#main .case__box > div.rohto .logo {
  width: 28rem;
  aspect-ratio: 280/121.8824;
  margin-top: 7.2rem;
  margin-bottom: 3.1rem;
}
#main .case__box > div.brainsleep .logo {
  width: 24rem;
  aspect-ratio: 240/126.1935;
  margin-top: 6.8rem;
  margin-bottom: 3.7rem;
}
#main .case__box-inner {
  display: flex;
  flex-direction: column;
  gap: 4.5rem 0rem;
  align-items: center;
}
#main .case__box-inner > div {
  text-align: center;
}
#main .case__box-inner > div:nth-child(1) h3 {
  background-color: #0064d7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 6rem;
  border-radius: 1.5rem;
  width: 37rem;
}
#main .case__box-inner > div:nth-child(1) h3 span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1;
  color: #FFF;
}
#main .case__box-inner > div:nth-child(1) p {
  text-align: center;
  margin: 2rem 0rem 4rem 0rem;
}
#main .case__box-inner > div:nth-child(1) p span {
  font-size: 4.5rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .case__box-inner > div:nth-child(1) h4 {
  text-align: center;
}
#main .case__box-inner > div:nth-child(1) h4 span {
  font-size: 3rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .case__box-inner .logo {
  margin: 0 auto;
}
#main .case__text-box {
  display: flex;
  flex-direction: column;
  gap: 6.4rem 0rem;
}
#main .case__text-box > div {
  position: relative;
}
#main .case__text-box > div:after {
  content: "";
  position: absolute;
  bottom: -1.7rem;
  left: 50%;
  transform: translate(-50%, 100%);
  width: 5.69428rem;
  height: 2.63574rem;
  background-color: #0064d7;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
#main .case__text-box > div:nth-child(2) h5 {
  border: none;
  background-color: #e7233b;
}
#main .case__text-box > div:nth-child(2) h5 span {
  color: #FFF;
}
#main .case__text-box > div:last-child:after {
  display: none;
}
#main .case__text-box h5 {
  border: 1px solid #0064d7;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.2rem;
  margin-bottom: 1.5rem;
}
#main .case__text-box h5 span {
  font-size: 2.721rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  color: #0064d7;
}
#main .case__text p {
  position: relative;
  padding-left: 2.5rem;
  text-align: justify;
}
#main .case__text p span {
  font-size: 2.267rem;
  line-height: 1.2999558888;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .case__text p:after {
  content: "■";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2.267rem;
  line-height: 1.2999558888;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .case__result {
  margin: 3.4rem 0rem 6.8rem 0rem;
}
#main .case__result h5 {
  position: relative;
  text-align: center;
}
#main .case__result h5 span {
  font-size: 3.4rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  background-color: #FFF;
  display: inline-block;
  padding: 0rem 2rem 0rem 2rem;
  position: relative;
  z-index: 2;
  color: #e7233b;
}
#main .case__result h5:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #e7233b;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
}
#main .case__result-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem 1.7rem;
  margin-top: 2rem;
}
#main .case__result-list > div {
  width: 31.4rem;
  background-color: #fde9eb;
  border-radius: 1.2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 15rem;
}
#main .case__result-list > div p {
  text-align: center;
}
#main .case__result-list > div p span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .case__result-list > div p:nth-child(1) span {
  font-size: 4.553rem;
  line-height: 1;
  color: #e7233b;
}
#main .case__result-list > div p:nth-child(1) span .big {
  font-size: 130%;
}
#main .case__result-list > div p:nth-child(1) span .small {
  font-size: 80%;
}
#main .case__result-list > div p:nth-child(1) span.sml {
  font-size: 3.5rem;
  line-height: 1.098;
}
#main .case__result-list > div p:nth-child(2) {
  margin-top: 0.5rem;
}
#main .case__result-list > div p:nth-child(2) span {
  font-size: 2.867rem;
  line-height: 1;
}
#main .price {
  background-color: #0064d7;
}
#main .price .section-in {
  padding: 11rem 0rem 9rem 0rem;
}
#main .price .c-common-tlbox__lead span {
  color: #FFF;
}
#main .price .c-common-tlbox__title span {
  color: #FFF;
}
#main .price__box {
  display: flex;
  flex-direction: column;
  gap: 3rem 0rem;
  align-items: center;
  margin-top: 6rem;
}
#main .price__box-inner {
  display: flex;
  align-items: center;
  gap: 0rem 2rem;
  padding: 3.8rem 3.4rem 3rem 0rem;
  background-color: #FFF;
  border-radius: 2rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
  width: 75rem;
}
#main .price__box-inner.current {
  border: 0.4rem solid #e7233b;
  background-color: #fff5b4;
  position: relative;
}
#main .price__box-inner.current .price__box-head p:nth-child(1) {
  margin-bottom: 1.5rem;
}
#main .price__box-inner.current .price__box-head > div {
  display: flex;
  flex-direction: column;
  gap: 1rem 0rem;
  align-items: center;
}
#main .price__box-inner.current .price__box-head > div p:nth-child(1) {
  margin-bottom: 0rem;
}
#main .price__box-inner.current .price__box-head > div .icon {
  width: 4.5rem;
  aspect-ratio: 1;
  background-color: #e7233b;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.5rem;
}
#main .price__box-inner.current .price__box-head > div .icon span {
  font-size: 2.905rem;
  line-height: 1;
  color: #FFF;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .price__box-inner.current .price__box-head > div .text span {
  font-size: 7.103rem;
  line-height: 1;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .price__box-inner.current:after {
  content: "成果\a連動";
  position: absolute;
  top: -1.9rem;
  left: -2.9rem;
  border-radius: 50%;
  background-color: #e7233b;
  font-size: 2.975rem;
  line-height: 1.0332773109;
  text-align: center;
  color: #FFF;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  width: 10rem;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: pre;
}
#main .price__box-head {
  flex: 1;
}
#main .price__box-head p {
  text-align: center;
}
#main .price__box-head p span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  color: #e7233b;
}
#main .price__box-head p:nth-child(1) {
  margin-bottom: -1rem;
}
#main .price__box-head p:nth-child(1) span {
  font-size: 3.552rem;
  line-height: 1;
}
#main .price__box-head p:nth-child(2) span {
  font-size: 21.309rem;
  line-height: 1;
}
#main .price__box-head p:nth-child(2) span .small {
  font-size: 50%;
}
#main .price__box-body {
  width: 31.2rem;
}
#main .price__box-body p {
  background-color: #e7233b;
  border-radius: 1rem;
  text-align: center;
  width: 100%;
  padding: 1rem 0rem;
}
#main .price__box-body p span {
  color: #FFF;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  font-size: 2.841rem;
  line-height: 1.2502639916;
}
#main .price__check {
  display: flex;
  flex-direction: column;
  gap: 0.7rem 0rem;
  margin-top: 2rem;
}
#main .price__check li {
  position: relative;
  padding-left: 4.51rem;
}
#main .price__check li span {
  font-size: 2.604rem;
  line-height: 1.2730414747;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  white-space: nowrap;
}
#main .price__check li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3.61rem;
  aspect-ratio: 1;
  background: url(../images/common/icon_check01.svg) no-repeat left top;
  background-size: 100% auto;
}
#main .price__note {
  width: 75rem;
  margin: 0 auto;
  border: 1px solid #FFF;
  padding: 5rem 0rem 4rem 0rem;
  border-radius: 2rem;
  margin-top: 3rem;
}
#main .price__note p {
  text-align: center;
}
#main .price__note p span {
  color: #FFF;
  font-size: 4rem;
  line-height: 1.5;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .price__note p.cap {
  margin-bottom: 1.5rem;
}
#main .price__note p.cap span {
  font-size: 2.492rem;
  line-height: 1.1003210273;
}
#main .flow {
  background-color: #d2ebff;
}
#main .flow .section-in {
  padding: 9.8rem 0rem;
}
#main .flow__box {
  display: flex;
  flex-direction: column;
  gap: 6.7rem 0rem;
  margin-top: 6rem;
  align-items: center;
}
#main .flow__box > div {
  background-color: #FFF;
  border-radius: 2rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
  width: 75rem;
  padding: 3rem 4rem 4rem 9rem;
  position: relative;
}
#main .flow__box > div:after {
  width: 8.81592rem;
  height: 3rem;
  background-color: #0064d7;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  content: "";
  position: absolute;
  bottom: -2.1rem;
  left: 50%;
  transform: translate(-50%, 100%);
}
#main .flow__box > div:before {
  content: "";
  position: absolute;
  top: -2.7rem;
  left: -1.6rem;
  width: 7.41197rem;
  height: 9.48199rem;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
#main .flow__box > div:nth-child(1):before {
  background-image: url(../images/flow_num01.svg);
}
#main .flow__box > div:nth-child(2):before {
  background-image: url(../images/flow_num02.svg);
}
#main .flow__box > div:nth-child(3):before {
  background-image: url(../images/flow_num03.svg);
}
#main .flow__box > div:nth-child(4):before {
  background-image: url(../images/flow_num04.svg);
}
#main .flow__box > div.current {
  border: 0.4rem solid #e7233b;
  background-color: #fff5b4;
}
#main .flow__box > div:last-child:after {
  display: none;
}
#main .flow__tl-box {
  display: flex;
  align-items: center;
  gap: 0rem 1.5rem;
}
#main .flow__tl-box .icon {
  width: 7rem;
  aspect-ratio: 1;
}
#main .flow__tl-box h3 span {
  font-size: 4rem;
  line-height: 1.188;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .flow__text {
  margin-top: 2rem;
  text-align: justify;
}
#main .flow__text span {
  font-size: 2.5rem;
  line-height: 1.4;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .flow__check {
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem 0rem;
}
#main .flow__check li {
  position: relative;
  padding-left: 5.9rem;
}
#main .flow__check li span {
  font-size: 3.001rem;
  line-height: 1.273;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  display: inline-block;
  margin-top: 0.5rem;
}
#main .flow__check li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4.8rem;
  aspect-ratio: 1;
  background: url(../images/common/icon_check03.svg) no-repeat left top;
  background-size: 100% auto;
}
#main .visualization .section-in {
  padding: 13rem 0rem 0rem 0rem;
}
#main .visualization__box {
  display: flex;
  gap: 0rem 4rem;
  justify-content: center;
  margin: 8.5rem 0rem 3rem 0rem;
}
#main .visualization__box > div {
  width: 36.5rem;
  border: 0.4rem solid #0064d7;
  padding: 3.5rem 0rem 3.2rem 0rem;
  border-radius: 1.8rem;
  position: relative;
}
#main .visualization__box > div .icon {
  width: 7.7rem;
  aspect-ratio: 1;
  margin: 0 auto;
}
#main .visualization__box > div h3 {
  margin-top: 2rem;
  text-align: center;
}
#main .visualization__box > div h3 span {
  font-size: 3.4rem;
  line-height: 1.3823529412;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .visualization__box > div:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 0.93994rem;
  aspect-ratio: 9.3994/25.7764;
  background: url(../images/visualization_icon03.svg) no-repeat left top;
  background-size: 100% auto;
}
#main .visualization__fukidashi-box p {
  background-color: #0064d7;
  padding: 3.3rem 4rem 3.3rem 4rem;
  text-align: justify;
  position: relative;
  border-radius: 2rem;
  width: 75rem;
  margin: 0rem auto -2.4rem auto;
  position: relative;
  z-index: 1;
}
#main .visualization__fukidashi-box p span {
  font-size: 2.5rem;
  line-height: 1.6;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  color: #FFF;
}
#main .visualization__fukidashi-box p:before {
  content: "";
  position: absolute;
  left: 34rem;
  bottom: -3.9rem;
  width: 7.33567rem;
  aspect-ratio: 73.3567/61.25;
  background-color: #0064d7;
  clip-path: polygon(100% 100%, 96.4% 0%, 0% 0%);
}
#main .visualization__fukidashi-box .img {
  width: 27.05357rem;
  aspect-ratio: 205/150;
  margin: 0rem 7.8rem 0rem auto;
  position: relative;
  z-index: 2;
}
#main .visualization__box02 {
  background-color: #0064d7;
  padding: 8rem 0rem 7rem 0rem;
}
#main .visualization__list {
  display: flex;
  flex-direction: column;
  gap: 4.6rem 0rem;
  align-items: center;
}
#main .visualization__list > div {
  width: 75rem;
  background-color: #FFF;
  padding: 6rem 0rem 5.8rem 0rem;
  border-radius: 3rem;
  position: relative;
}
#main .visualization__list > div h3 {
  text-align: center;
}
#main .visualization__list > div h3 span {
  font-size: 3.767rem;
  line-height: 1.406158747;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  color: #e7233b;
}
#main .visualization__list > div p {
  text-align: center;
  margin-top: 2rem;
}
#main .visualization__list > div p span {
  font-size: 2.645rem;
  line-height: 1.4;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .visualization__list > div:after {
  width: 5.8rem;
  height: 2.1rem;
  background-color: #FFF;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  content: "";
  position: absolute;
  bottom: -1.35rem;
  left: 50%;
  transform: translate(-50%, 100%);
}
#main .visualization__list > div:last-child:after {
  display: none;
}
#main .visualization__box03 {
  margin-top: 7rem;
  display: flex;
  justify-content: center;
  gap: 0rem 1.9rem;
}
#main .visualization__box03 .num-box {
  width: 35.2rem;
  display: flex;
  flex-direction: column;
  gap: 1.3rem 0rem;
}
#main .visualization__box03 .num-box > div {
  display: flex;
  gap: 0rem 1.4rem;
  height: 10rem;
  border-radius: 9999px;
  background-color: #FFF;
  align-items: center;
  padding-left: 1.4rem;
}
#main .visualization__box03 .num-box > div .num {
  width: 7.22rem;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e7233b;
  border-radius: 50%;
}
#main .visualization__box03 .num-box > div .num span {
  font-size: 4.5rem;
  line-height: 1;
  color: #FFF;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
}
#main .visualization__box03 .num-box > div .text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem 0rem;
}
#main .visualization__box03 .num-box > div .text span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 3.61rem;
  line-height: 1;
}
#main .visualization__box03 .num-box > div .text span.cap {
  color: #000;
  font-size: 2.2rem;
  line-height: 1.0454545455;
}
#main .visualization__box03 .num-box > div.current {
  background-color: #fff5b4;
}
#main .visualization__box03 .num-box > div.current .text span {
  color: #e7233b;
}
#main .visualization__box03 .num-box > div.current .text span.cap {
  color: #000;
}
#main .visualization__box03 .text-box {
  background-color: #FFF;
  padding: 4rem 0rem 2rem 0rem;
  border-radius: 2rem;
  width: 37.9rem;
  position: relative;
}
#main .visualization__box03 .text-box h4 {
  text-align: center;
}
#main .visualization__box03 .text-box h4 span {
  font-size: 3.5rem;
  line-height: 1.2857142857;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  color: #e7233b;
}
#main .visualization__box03 .text-box .num-box02 {
  margin-top: 2.2rem;
  display: flex;
  gap: 1rem 0rem;
  align-items: center;
  flex-direction: column;
}
#main .visualization__box03 .text-box .num-box02 > div {
  width: 34rem;
  background-color: #e7233b;
  padding: 3rem 2.5rem;
  border-radius: 1rem;
}
#main .visualization__box03 .text-box .num-box02 > div h5 span {
  font-size: 3.4rem;
  line-height: 1.1176470588;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  color: #FFF;
}
#main .visualization__box03 .text-box .num-box02 > div p {
  text-align: justify;
  margin-top: 1.4rem;
}
#main .visualization__box03 .text-box .num-box02 > div p span {
  font-size: 2rem;
  line-height: 1.4;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 500;
  color: #FFF;
}
#main .visualization__box03 .text-box:after {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 2.9rem;
  background-color: #FFF;
  clip-path: polygon(100% 0%, 100% 100%, 0% 50%);
  left: 0;
  top: 20.4rem;
  transform: translate(-100%, 0);
}
#main .qa {
  background-color: #d2ebff;
}
#main .qa .section-in {
  padding: 9.8rem 0rem;
}
#main .qa .section-in h2 {
  text-align: center;
}
#main .qa .section-in h2 span {
  font-size: 7rem;
  line-height: 1;
  font-family: YakuHanRP, "m-plus-2p", sans-serif;
  font-weight: 900;
}
#main .qa .section-in .qa-box {
  width: 75rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 3rem 0rem;
  margin-top: 6rem;
}
#main .qa .section-in .qa-box > div {
  background-color: #FFF;
  padding: 0rem 0rem 3.5rem 0rem;
  border-radius: 2rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
}
#main .qa .section-in .qa-box .qa-q a {
  display: block;
  position: relative;
  padding: 3.5rem 5rem 0rem 5rem;
}
#main .qa .section-in .qa-box .qa-q a span {
  font-size: 4rem;
  line-height: 1.3;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
}
#main .qa .section-in .qa-box .qa-q a:after, #main .qa .section-in .qa-box .qa-q a:before {
  content: "";
  position: absolute;
  background-color: #e7233b;
  transition: transform 0.3s ease;
  border-radius: 9999px;
}
#main .qa .section-in .qa-box .qa-q a:before {
  width: 3.1rem;
  height: 0.5rem;
  right: 4.3rem;
  top: 5.1rem;
}
#main .qa .section-in .qa-box .qa-q a:after {
  width: 0.5rem;
  height: 3.1rem;
  right: 5.6rem;
  top: 3.8rem;
}
#main .qa .section-in .qa-box .qa-q.active a:before {
  transform: rotate(45deg);
}
#main .qa .section-in .qa-box .qa-q.active a:after {
  transform: rotate(45deg);
}
#main .qa .section-in .qa-box .qa-a p {
  padding: 1.5rem 5rem 0rem 5rem;
  text-align: justify;
}
#main .qa .section-in .qa-box .qa-a p span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 1.4545454545;
}
#main .cta {
  background-color: #0064d7;
}
#main .cta .section-in {
  padding: 10rem 0rem;
}
#main .cta .c-common-tlbox__lead span {
  color: #FFF;
}
#main .cta .c-common-tlbox__title span {
  color: #FFF;
}
#main .cta__btn-box {
  display: flex;
  flex-direction: column;
  margin-top: 5.5rem;
  gap: 2rem 0rem;
}
#main .cta__btn-box > div.c-link-btn--contact {
  margin-top: 3rem;
}
#main .popupBox.pop-service03 .popup-box-in .popup-box-box .tl-box {
  border-bottom: 0.3rem solid #e7233b;
  padding: 2rem 0rem 1rem 0rem;
  display: flex;
  align-items: center;
  gap: 0rem 1.3rem;
  justify-content: center;
}
#main .popupBox.pop-service03 .popup-box-in .popup-box-box .tl-box .icon {
  width: 5.7rem;
  aspect-ratio: 1;
}
#main .popupBox.pop-service03 .popup-box-in .popup-box-box .tl-box .tl span {
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  font-size: 3.06rem;
  line-height: 1;
  color: #e7233b;
}
#main .popupBox.pop-service03 .popup-box-in .popup-box-box .img {
  padding-top: 4rem;
  margin: 0 auto;
}
#main .popupBox.pop-service03 .popup-box-in .popup-box-box .img.img01 {
  width: 76.925rem;
  padding-bottom: 1.2rem;
}
#main .popupBox.pop-service03 .popup-box-in .popup-box-box .img.img02 {
  width: 75.96875rem;
  padding-bottom: 3.7rem;
}
#main .popupBox.pop-service03 .popup-box-in .popup-box-box .img.img03 {
  width: 76.81875rem;
  padding-bottom: 4rem;
}
#main .popupBox.pop-service03 .popup-box-in .popup-box-box .img.img04 {
  width: 76.60625rem;
  padding-bottom: 3.7rem;
}
#main .popupBox.pop-simulation .popup-box-in .popup-box-in-in .popup-box-box .popup-contents-in {
  padding: 12rem 8rem 8rem 8rem;
}
#main .popupBox.pop-simulation .popup-box-in .popup-box-in-in .popup-box-box .popup-contents-in .tl {
  text-align: center;
  margin-bottom: 4rem;
}
#main .popupBox.pop-simulation .popup-box-in .popup-box-in-in .popup-box-box .popup-contents-in .tl span {
  font-size: 5rem;
  line-height: 1.4;
  font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
  font-weight: 700;
  color: #0064d7;
}
@media screen and (min-width: 768px) {
  #main {
    padding-top: 12rem;
  }
  #main .main .section-in {
    padding: 7rem 0rem 6rem 0rem;
  }
  #main .main__tl01 span {
    font-size: 6.5rem;
    line-height: 1.3635384615;
  }
  #main .main__text01 {
    margin: 2rem 0rem 0rem 0rem;
  }
  #main .main__text01 span {
    font-size: 8.7rem;
    line-height: 1;
  }
  #main .main .simulation {
    margin: 6rem 0rem 0rem 0rem;
  }
  #main .main .simulation > p {
    margin: 0rem 0rem 1.5rem 0rem;
  }
  #main .main .simulation > p span {
    font-size: 2.6rem;
    line-height: 1;
  }
  #main .main .simulation__box {
    width: 95.8rem;
  }
  #main .main .simulation__list > div {
    width: 40rem;
  }
  #main .main .simulation__list label {
    margin: 0rem 0rem 1.7rem 0rem;
  }
  #main .main .simulation__btn {
    width: 83.8rem;
    margin: 2.8rem auto 0rem auto;
  }
  #main .result .section-in {
    padding: 7.5rem 0rem 4rem 0rem;
  }
  #main .result .section-in .result-tl {
    margin-bottom: 5.5rem;
  }
  #main .result .section-in .result-tl span {
    font-size: 6.5rem;
    line-height: 1;
  }
  #main .result .section-in .result-box {
    flex-direction: row;
    justify-content: center;
    gap: 2.5rem;
  }
  #main .result .section-in .result-box > div {
    width: 40rem;
    margin: 0;
    flex-direction: column;
    gap: 2.5rem;
    min-height: inherit;
  }
  #main .result .section-in .result-box > div .tl {
    width: 100%;
    height: 7.2rem;
    flex-direction: row;
  }
  #main .result .section-in .result-box > div .tl:after {
    right: auto;
    left: 50%;
    top: auto;
    bottom: 0;
    transform: translate(-50%, 100%);
    width: 2rem;
    height: 1.7rem;
    background-color: #0064d7;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  }
  #main .result .section-in .result-box > div .num {
    width: 100%;
    padding: 2rem 0rem 3rem 0rem;
  }
  #main .result .section-in .result-box > div .num span {
    font-size: 6rem;
    line-height: 1;
  }
  #main .result .section-in .result-btn {
    width: 83.8rem;
  }
  #main .nayami .section-in {
    padding: 10rem 0rem 3.5rem 0rem;
  }
  #main .nayami .c-common-tlbox__lead {
    gap: 0rem 4rem;
  }
  #main .nayami .c-common-tlbox__lead .icon {
    width: 27.2rem;
  }
  #main .nayami .nayami-img {
    width: 123.8rem;
    height: 65.2rem;
    margin: 6.7rem auto 0rem auto;
  }
  #main .frontliner .section-in {
    padding: 7.3rem 0rem 8rem 0rem;
  }
  #main .frontliner .section-in .frontliner__box {
    flex-direction: row;
    gap: 0rem 2.8rem;
    justify-content: center;
  }
  #main .frontliner .section-in .frontliner__box .c-common-tlbox__lead span {
    font-size: 4.112rem;
    line-height: 1.3331712062;
  }
  #main .frontliner .section-in .frontliner__box .frontliner-img {
    width: 59.7rem;
  }
  #main .frontliner .section-in .check-box {
    gap: 0rem 6rem;
    margin-top: 5.2rem;
  }
  #main .frontliner .section-in .check-box > div {
    width: auto;
    display: flex;
    flex-direction: row;
    gap: 0rem 1.7rem;
  }
  #main .frontliner .section-in .check-box > div .icon {
    width: 6.11rem;
    height: 6.11rem;
    margin: 0;
  }
  #main .frontliner .section-in .check-box > div .text {
    text-align: left;
  }
  #main .frontliner .section-in .check-box > div .text span {
    font-size: 3.5rem;
    line-height: 1;
  }
  #main .frontliner .section-in .btn-box {
    flex-direction: row;
    gap: 0rem 2rem;
    justify-content: center;
    margin-top: 6rem;
  }
  #main .frontliner .section-in .btn-box > div {
    margin: 0;
  }
  #main .kadai {
    overflow: hidden;
  }
  #main .kadai .section-in {
    padding: 12.5rem 0rem 5rem 0rem;
  }
  #main .kadai__list {
    gap: 2.3rem 0rem;
    margin: 8.3rem auto 9.2rem auto;
    width: 120rem;
    align-items: flex-start;
  }
  #main .kadai__item {
    width: 80rem;
    padding: 5.9rem 0rem 5.9rem 3.8rem;
    border-radius: 1.8rem;
    gap: 0rem 3.3rem;
  }
  #main .kadai__item:after {
    background: url("../images/kadai_fuki01.svg") no-repeat left top;
    background-size: 100% auto;
    right: -5.9rem;
    bottom: 3.1rem;
    top: auto;
    z-index: 1;
  }
  #main .kadai__item:nth-child(even) {
    margin-left: auto;
  }
  #main .kadai__item:nth-child(even):after {
    width: 12.2rem;
    height: 7rem;
    right: auto;
    bottom: auto;
    left: -8.6rem;
    top: 3.1rem;
    background: url("../images/kadai_fuki02.svg") no-repeat left top;
    background-size: 100% auto;
  }
  #main .kadai__item:nth-child(1) .kadai__img {
    width: 37.39734rem;
    right: -32rem;
    bottom: 1.9rem;
  }
  #main .kadai__item:nth-child(2) .kadai__img {
    width: 26.78796rem;
    right: auto;
    left: -33.9rem;
    top: 4rem;
    bottom: auto;
  }
  #main .kadai__item:nth-child(3) .kadai__img {
    width: 25.39408rem;
    right: -32.6rem;
    bottom: 2.7rem;
  }
  #main .kadai__text h3 span {
    font-size: 4rem;
    line-height: 1.05;
  }
  #main .kadai__text p {
    margin-top: 1.5rem;
  }
  #main .kadai__text p span {
    font-size: 2rem;
    line-height: 1.5;
  }
  #main .kadai__num-box {
    flex-direction: row;
    padding: 7rem 0rem 7rem 0rem;
    justify-content: center;
  }
  #main .kadai__num-box > div {
    border-bottom: none;
    border-left: 1px solid #FFF;
    padding: 0rem 3.5rem;
    flex-direction: column;
    gap: 1rem 0rem;
    width: auto;
    align-items: center;
    min-height: 17rem;
    justify-content: center;
  }
  #main .kadai__num-box > div p {
    width: auto;
  }
  #main .kadai__num-box > div h4 {
    flex: 0 1 auto;
  }
  #main .kadai__num-box > div h4 span {
    font-size: 2.4rem;
    line-height: 1;
  }
  #main .kadai__num-box > div:last-child {
    border-right: 1px solid #FFF;
  }
  #main .kadai__cap {
    width: 128rem;
    margin: 1.2rem auto 0rem auto;
    padding-right: 4rem;
    text-align: right;
  }
  #main .solution .section-in {
    padding: 12.7rem 0rem 0rem 0rem;
    margin: 0 auto;
    width: 128rem;
  }
  #main .solution__step {
    width: 128rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 7rem 0rem;
    margin-top: 7rem;
    padding: 0rem 4rem;
  }
  #main .solution__step > div:after {
    left: 37.6rem;
    transform: translate(0, 100%);
    bottom: -2.3rem;
  }
  #main .solution__head {
    gap: 0rem 0.9rem;
  }
  #main .solution__head h3 span {
    font-size: 3.6rem;
    line-height: 1.1666666667;
  }
  #main .solution__icon {
    width: 4.23rem;
  }
  #main .solution__body {
    margin-top: 1.1rem;
  }
  #main .solution__text span {
    font-size: 2.228rem;
    line-height: 1.3999102334;
  }
  #main .solution__img {
    margin: -34.1rem -11rem 0rem auto;
    width: 135.05rem;
    aspect-ratio: 2701/1831;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1500px) {
  #main .solution {
    overflow: hidden;
  }
}
@media screen and (min-width: 768px) {
  #main .reason .section-in {
    padding: 12.5rem 0rem 10rem 0rem;
  }
  #main .reason__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5rem 2.5rem;
    margin-top: 8rem;
    align-items: flex-start;
    justify-content: center;
  }
  #main .reason__item {
    width: 59rem;
    padding: 3.9rem 0rem 5.5rem 3.5rem;
    border-radius: 1.8rem;
  }
  #main .reason__item:after {
    top: -0.5rem;
    width: 0.9rem;
  }
  #main .reason__head {
    gap: 0rem 0.9rem;
  }
  #main .reason__head h3 span {
    font-size: 4.3rem;
    line-height: 1;
  }
  #main .reason__icon {
    width: 7.7rem;
    height: 7.7rem;
  }
  #main .reason__body {
    margin-top: 0.5rem;
    padding-left: 8.6rem;
  }
  #main .reason__check {
    gap: 0.8rem 0rem;
  }
  #main .reason__check li {
    gap: 0rem 1.1rem;
  }
  #main .reason__check li span {
    font-size: 3.09rem;
    line-height: 1;
  }
  #main .reason__check li:before {
    width: 4.16rem;
  }
  #main .reason__text {
    margin-bottom: 1.7rem;
    padding-right: 2rem;
  }
  #main .reason__text span {
    font-size: 2rem;
    line-height: 1.4;
  }
  #main .reason__cap {
    padding: 0rem 1.3rem 1rem 0rem;
  }
  #main .reason__cap span {
    font-size: 1.6rem;
    line-height: 1;
  }
  #main .comparison .section-in {
    padding: 10rem 0rem 8.3rem 0rem;
  }
  #main .comparison__table-wrap {
    padding: 0;
    background-color: transparent;
    margin-top: 6rem;
    display: block;
    overflow: hidden;
  }
  #main .comparison__table {
    margin: 0 auto;
  }
  #main .comparison__note {
    margin: 4.8rem auto 0rem auto;
    width: 120rem;
    border: 1px solid #FFF;
    border-radius: 2rem;
    padding: 3rem 0rem;
    position: relative;
  }
  #main .comparison__note::before, #main .comparison__note::after {
    content: "";
    position: absolute;
    width: 4.9rem;
    height: 4.2rem;
    background-color: #FFF;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  }
  #main .comparison__note::before {
    background-color: #FFF;
    top: 0;
    left: 50%;
    transform: translate(0, -100%);
    right: 20.2rem;
    left: auto;
    box-shadow: calc(-50vw - 4.9rem / 2) 4.2rem 0 0 #FFF, calc(50vw + 4.9rem / 2) 4.2rem 0 0 #FFF;
  }
  #main .comparison__note::after {
    background-color: #0064d7;
    top: 0;
    left: 50%;
    transform: translate(0, calc(-100% + 2px));
    right: 20.2rem;
    left: auto;
  }
  #main .company .section-in {
    padding: 12rem 0rem 7rem 0rem;
  }
  #main .company__box {
    width: 120rem;
    margin: 5rem auto 0rem auto;
    grid-template-areas: "area-a area-c" "area-b area-c";
    grid-template-rows: auto 1fr;
  }
  #main .company__box > div {
    padding: 4rem 3rem 0rem 3rem;
  }
  #main .company__box > div:nth-child(1) {
    padding-bottom: 6rem;
  }
  #main .company__box > div:nth-child(1) .img {
    width: 50.8rem;
    aspect-ratio: 1017/210;
    margin: 2.1rem auto 0rem auto;
  }
  #main .company__box > div:nth-child(2) {
    padding-bottom: 3.5rem;
  }
  #main .company__box > div:nth-child(3) {
    padding-bottom: 2.5rem;
  }
  #main .company__box > div h3 span {
    font-size: 3.3rem;
    line-height: 1.3333333333;
  }
  #main .company__box > div .text.text01 {
    margin-top: 0.8rem;
  }
  #main .company__box > div .text.text01 span {
    font-size: 2rem;
    line-height: 1.4;
  }
  #main .company__box > div .text.text02 span {
    font-size: 1.8rem;
    line-height: 1.5555555556;
  }
  #main .company__icon {
    width: 5.6rem;
    margin: 0rem auto 1rem auto;
  }
  #main .company__flex {
    margin: 2.7rem 0rem 0rem 0rem;
    display: block;
    position: relative;
  }
  #main .company__flex .ph {
    width: 26.7rem;
  }
  #main .company__flex .info .img {
    width: 25.4rem;
    position: absolute;
    top: 4.5rem;
    left: 28.9rem;
  }
  #main .service .section-in {
    padding: 11.5rem 0rem 10rem 0rem;
  }
  #main .service .tab-box {
    margin: 4rem auto 0rem auto;
    width: 120rem;
    background-color: #FFF;
    border-radius: 2rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
    overflow: hidden;
  }
  #main .service .tab-btn {
    gap: 0rem 0rem;
  }
  #main .service .tab-btn > div {
    width: 40rem;
  }
  #main .service .tab-btn > div a {
    height: 7.1rem;
    border-radius: 0rem;
    align-items: center;
    gap: 0rem 1rem;
    background-color: #f1f1f1;
    border-bottom: 0.2rem solid #808080;
    transition: border-color 200ms ease;
  }
  #main .service .tab-btn > div a .icon {
    top: auto;
    left: auto;
    position: relative;
    transform: translate(0, 0);
    width: 4.48rem;
    padding-top: 0rem;
    background-color: transparent;
  }
  #main .service .tab-btn > div a .icon:after {
    content: "";
    position: absolute;
    width: 4.48rem;
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% auto;
    opacity: 0;
    top: 0;
    left: 0;
    transition: opacity 200ms ease;
  }
  #main .service .tab-btn > div a span {
    text-align: left;
    font-size: 2.4rem;
    line-height: 1;
    color: #808080;
    transition: color 200ms ease;
  }
  #main .service .tab-btn > div:nth-child(1) a .icon img {
    width: 100%;
  }
  #main .service .tab-btn > div:nth-child(1) a .icon:after {
    background-image: url(../images/service_icon01_on.svg);
  }
  #main .service .tab-btn > div:nth-child(2) a .icon {
    padding-top: 0rem;
  }
  #main .service .tab-btn > div:nth-child(2) a .icon img {
    width: 100%;
  }
  #main .service .tab-btn > div:nth-child(2) a .icon:after {
    background-image: url(../images/service_icon02_on.svg);
  }
  #main .service .tab-btn > div:nth-child(3) a .icon img {
    width: 100%;
  }
  #main .service .tab-btn > div:nth-child(3) a .icon:after {
    background-image: url(../images/service_icon03_on.svg);
  }
  #main .service .tab-btn > div.on, #main .service .tab-btn > div.current {
    opacity: 1;
  }
  #main .service .tab-btn > div.on a .icon:after, #main .service .tab-btn > div.current a .icon:after {
    opacity: 1;
  }
  #main .service .tab-btn > div.on a span, #main .service .tab-btn > div.current a span {
    color: #e7233b;
  }
  #main .service .tab-btn > div.current a {
    border-bottom-color: #e7233b;
    background-color: #FFF;
  }
  #main .service .tab-body {
    margin: 0rem 0rem 0rem 0rem;
    gap: 0rem 0rem;
  }
  #main .service .tab-body > div {
    width: 100%;
    padding: 7rem 6rem 6.5rem 6rem;
    border-radius: 0rem;
    box-shadow: none;
    display: none;
    opacity: 0;
  }
  #main .service .tab-body > div.current {
    display: block;
    opacity: 1;
  }
  #main .service__tl-box {
    display: block;
  }
  #main .service__tl-box h3 {
    text-align: center;
  }
  #main .service__tl-box h3 span {
    font-size: 5rem;
    line-height: 1;
  }
  #main .service__text {
    margin-top: 2rem;
    text-align: center;
  }
  #main .service__check {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem 0rem;
    margin: 3.5rem auto 0rem auto;
    width: 91rem;
    justify-content: center;
  }
  #main .service__check li:nth-child(odd) {
    width: 46rem;
  }
  #main .service__check li:nth-child(even) {
    flex: 1;
  }
  #main .service__box {
    border: 0.4rem solid #0064d7;
    border-radius: 2rem;
    width: 108rem;
    margin: 7.5rem auto 0rem auto;
    padding: 6.5rem 0rem 7rem 0rem;
  }
  #main .service__box .text {
    width: 20rem;
  }
  #main .service__box .text span {
    font-size: 2rem;
    line-height: 1.5;
  }
  #main .service__box .text--02 {
    width: auto;
  }
  #main .service__box .text--02 span {
    font-size: 2rem;
    line-height: 1.4;
  }
  #main .service #service01 .service__box {
    padding-left: 6rem;
    padding-right: 6rem;
  }
  #main .service #service01 .service__subti {
    margin-bottom: 1.7rem;
  }
  #main .service #service01 .text span {
    font-size: 2rem;
    line-height: 1.5;
  }
  #main .service #service01 .service__img {
    aspect-ratio: 1925/1717;
    margin-top: -27.1rem;
  }
  #main .service #service02 .service__box {
    margin-top: 7.5rem;
  }
  #main .service #service02 .flex {
    flex-direction: row;
    gap: 0rem 2rem;
    justify-content: center;
    align-items: flex-start;
  }
  #main .service #service02 .flex > div {
    width: 32.5rem;
    display: block;
    padding-top: 2.5rem;
  }
  #main .service #service02 .flex .service__img {
    width: 28.1rem;
    aspect-ratio: 281/396;
    margin-top: 1.7rem;
  }
  #main .service #service02 .flex .icon {
    width: 5.6rem;
    aspect-ratio: 1;
  }
  #main .service #service02 .flex .tl {
    margin: 1rem 0rem 0.7rem 0rem;
  }
  #main .service #service02 .flex .tl span {
    font-size: 3rem;
    line-height: 1.2666666667;
  }
  #main .service #service02 .service__img {
    aspect-ratio: 589/1306;
    margin: 1.5rem 0rem 0rem auto;
  }
  #main .service #service03 .list-box {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2rem 2.2rem;
    margin-top: 4.5rem;
  }
  #main .service #service03 .list-box > div {
    padding: 2.2rem 2.6rem 2.6rem 2.6rem;
    width: 52.8rem;
  }
  #main .service #service03 .list-box > div .tl-box {
    gap: 0rem 1.28rem;
  }
  #main .service #service03 .list-box > div .tl-box .icon {
    width: 5.6rem;
  }
  #main .service #service03 .list-box > div .tl-box .tl span {
    font-size: 3rem;
    line-height: 1;
  }
  #main .service #service03 .list-box > div > p {
    margin: 1.2rem 0rem 1.8rem 0rem;
  }
  #main .service #service03 .list-box > div > p span {
    font-size: 1.9rem;
    line-height: 1.4736842105;
  }
  #main .case .section-in {
    padding: 11.5rem 0rem 10rem 0rem;
    max-width: 1280px;
    margin: 0 auto;
  }
  #main .case .section-in:after {
    top: 4.3rem;
    right: 2.7rem;
    width: 28rem;
    background: url(../images/case_fuki01.svg) no-repeat left top;
    background-size: 100% auto;
  }
  #main .case__list {
    width: 120rem;
    margin: 10.5rem auto 0rem auto;
  }
  #main .case__list > div {
    width: 59rem;
    display: flex;
    height: 41.2rem;
  }
  #main .case__list > div .case__list-img {
    flex: 1;
  }
  #main .case__list > div.health .case__list-img {
    padding: 6.8rem 0rem 0rem 0rem;
  }
  #main .case__list > div.health .case__list-img img {
    width: 19.1rem;
    aspect-ratio: 382/523;
  }
  #main .case__list > div.apparel .case__list-img {
    padding: 8.5rem 0rem 0rem 0rem;
  }
  #main .case__list > div.apparel .case__list-img img {
    width: 21.35rem;
    aspect-ratio: 427/464;
  }
  #main .case__list > div.beauty .case__list-img {
    padding: 7.6rem 0rem 0rem 0rem;
  }
  #main .case__list > div.beauty .case__list-img img {
    width: 24.5rem;
    aspect-ratio: 490/563;
  }
  #main .case__list > div.aga .case__list-img {
    padding: 11.7rem 0rem 0rem 0rem;
  }
  #main .case__list > div.aga .case__list-img img {
    width: 23.5rem;
    aspect-ratio: 470/362;
  }
  #main .case__list-tl-box {
    height: 100%;
    width: 27.7rem;
    padding-top: 13.3rem;
  }
  #main .case__list-tl-box .icon {
    width: 8rem;
    aspect-ratio: 1;
  }
  #main .case__list-tl-box .tl {
    text-align: center;
  }
  #main .case__list-tl-box .tl span {
    font-size: 3rem;
    line-height: 1.2666666667;
  }
  #main .case__box {
    gap: 4rem 0rem;
    width: 120rem;
    margin: 8.7rem auto 0rem auto;
  }
  #main .case__box > div {
    padding: 6rem 6rem 5rem 6.5rem;
  }
  #main .case__box > div.valx .logo {
    width: 24.15rem;
    margin-top: 0rem;
    margin-bottom: 2.2rem;
  }
  #main .case__box > div.rohto .logo {
    width: 22.5rem;
    margin-top: 0rem;
    margin-bottom: 3.5rem;
  }
  #main .case__box > div.brainsleep .logo {
    width: 22rem;
    margin-top: 0rem;
    margin-bottom: 2.6rem;
  }
  #main .case__box-inner {
    flex-direction: row;
    gap: 0rem 7.1rem;
    align-items: flex-start;
  }
  #main .case__box-inner > div {
    text-align: center;
  }
  #main .case__box-inner > div:nth-child(1) {
    width: 37rem;
  }
  #main .case__box-inner > div:nth-child(1) h3 {
    height: 5rem;
    border-radius: 1rem;
  }
  #main .case__box-inner > div:nth-child(1) h3 span {
    font-size: 2.4rem;
    line-height: 1;
  }
  #main .case__box-inner > div:nth-child(1) p {
    margin: 1.8rem 0rem 1.2rem 0rem;
  }
  #main .case__box-inner > div:nth-child(1) p span {
    font-size: 3rem;
    line-height: 1;
  }
  #main .case__box-inner > div:nth-child(1) h4 span {
    font-size: 2rem;
    line-height: 1.4;
  }
  #main .case__text-box {
    flex-direction: row;
    gap: 0rem 6rem;
  }
  #main .case__text-box > div:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: auto;
    left: auto;
    right: -2.1rem;
    transform: translate(100%, -50%);
    width: 2.325rem;
    height: 5rem;
    background-color: #0064d7;
    clip-path: polygon(0% 0%, 0% 100%, 100% 50%);
  }
  #main .case__text-box h5 {
    height: 3.8rem;
    margin-bottom: 1.3rem;
  }
  #main .case__text-box h5 span {
    font-size: 2.4rem;
    line-height: 1;
  }
  #main .case__text p {
    padding-left: 2rem;
    margin-bottom: 0.5rem;
  }
  #main .case__text p span {
    font-size: 1.95rem;
    line-height: 1.3333333333;
  }
  #main .case__text p:after {
    font-size: 1.95rem;
    line-height: 1.3333333333;
  }
  #main .case__text p:last-child {
    margin-bottom: 0;
  }
  #main .case__result {
    margin: 3.4rem 0rem 3.9rem 0rem;
    display: flex;
    gap: 0rem 1.2rem;
    align-items: center;
  }
  #main .case__result h5 {
    width: 12.6rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #e7233b;
    border-radius: 50%;
    flex-shrink: 0;
  }
  #main .case__result h5 span {
    font-size: 3rem;
    line-height: 1;
    background-color: transparent;
    padding: 0;
    color: #FFF;
  }
  #main .case__result h5:after {
    display: none;
  }
  #main .case__result-list {
    flex: 1;
    gap: 0;
    justify-content: space-around;
    margin-top: 0rem;
  }
  #main .case__result-list > div {
    width: 22.8rem;
    border-radius: 1rem;
    height: 12.8rem;
  }
  #main .case__result-list > div p:nth-child(1) span {
    font-size: 3.889rem;
    line-height: 1;
  }
  #main .case__result-list > div p:nth-child(1) span .big {
    letter-spacing: -0.03em;
  }
  #main .case__result-list > div p:nth-child(1) span.sml {
    font-size: 2.68495rem;
    line-height: 1.0979720293;
  }
  #main .case__result-list > div p:nth-child(2) {
    margin-top: 0.5rem;
  }
  #main .case__result-list > div p:nth-child(2) span {
    font-size: 2.4rem;
    line-height: 1;
  }
  #main .case__result-list > div p:nth-child(2).condensed {
    transform: scalex(0.8);
  }
  #main .price__box {
    flex-direction: row;
    gap: 0rem 2.5rem;
    align-items: flex-start;
    justify-content: center;
  }
  #main .price__box-inner {
    display: block;
    padding: 5rem 0rem 4.7rem 0rem;
    width: 38.2rem;
  }
  #main .price__box-inner.current .price__box-head p:nth-child(1) {
    margin-bottom: 1rem;
  }
  #main .price__box-inner.current .price__box-head > div {
    gap: 0.5rem 0rem;
  }
  #main .price__box-inner.current .price__box-head > div p:nth-child(1) {
    margin-bottom: 0rem;
  }
  #main .price__box-inner.current .price__box-body {
    margin-top: 1.5rem;
  }
  #main .price__box-inner.current:after {
    top: -5.4rem;
    left: auto;
    right: 1.3rem;
  }
  #main .price__box-body {
    width: 100%;
  }
  #main .price__box-body p {
    width: 29.2rem;
    margin: 0 auto;
  }
  #main .price__check {
    gap: 1.2rem 0rem;
    margin-top: 1.9rem;
    padding-left: 4.8rem;
  }
  #main .price__check li {
    padding-left: 4.4rem;
  }
  #main .price__check li span {
    font-size: 2.4rem;
    line-height: 1.2730414747;
  }
  #main .price__check li:before {
    width: 3.5rem;
  }
  #main .price__note {
    width: 120rem;
    padding: 3.5rem 0rem 3rem 0rem;
    margin-top: 4.5rem;
  }
  #main .price__note p.cap {
    margin-bottom: 0.5rem;
  }
  #main .flow .section-in {
    padding: 11rem 0rem 10rem 0rem;
  }
  #main .flow__box {
    margin-top: 7rem;
  }
  #main .flow__box > div {
    width: 120rem;
    padding: 3rem 3rem 4rem 9rem;
  }
  #main .flow__box > div:after {
    bottom: -2rem;
  }
  #main .flow__tl-box {
    gap: 0rem 2.1rem;
  }
  #main .flow__text {
    margin-top: 1.5rem;
  }
  #main .flow__check {
    margin-top: 1.6rem;
    flex-direction: row;
    gap: 0rem 0rem;
    justify-content: space-around;
  }
  #main .flow__check li {
    position: relative;
    padding-left: 5.9rem;
  }
  #main .flow__check li span {
    font-size: 2.8rem;
    line-height: 1.273;
    letter-spacing: -0.03em;
  }
  #main .visualization .section-in {
    padding: 12.6rem 0rem 0rem 0rem;
  }
  #main .visualization__box {
    gap: 0rem 2.9rem;
    margin: 9rem 0rem 11.1rem 0rem;
  }
  #main .visualization__box > div {
    width: 58.5rem;
    padding: 4.2rem 0rem 4.5rem 0rem;
  }
  #main .visualization__box > div h3 {
    margin-top: 1.7rem;
  }
  #main .visualization__box > div h3 span {
    font-size: 4.3rem;
    line-height: 1.3488372093;
  }
  #main .visualization__box > div:after {
    top: 0.7rem;
    z-index: 1;
  }
  #main .visualization__box > div:before {
    content: "";
    position: absolute;
    width: 90%;
    height: 0.7rem;
    background-color: #FFF;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 2;
  }
  #main .visualization__fukidashi-box {
    width: 120rem;
    margin: 0 auto;
    display: flex;
    gap: 0rem 9rem;
    align-items: flex-end;
    padding-bottom: 11rem;
  }
  #main .visualization__fukidashi-box p {
    padding: 3.3rem 4rem 3.3rem 4rem;
    width: 58.5rem;
    margin: 0;
  }
  #main .visualization__fukidashi-box p:before {
    left: auto;
    right: 0;
    bottom: auto;
    top: 50%;
    transform: translate(100%, -50%);
    width: 3.2rem;
    height: 3.7rem;
    background-color: #0064d7;
    clip-path: polygon(0% 0%, 0% 100%, 100% 50%);
  }
  #main .visualization__fukidashi-box .img {
    width: 49.81092rem;
    margin: 0rem 0rem 0rem 0rem;
  }
  #main .visualization__box02 {
    padding: 8.5rem 0rem 11rem 0rem;
  }
  #main .visualization__list {
    flex-direction: row;
    gap: 0rem 3.75rem;
    justify-content: center;
  }
  #main .visualization__list > div {
    width: 37.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  #main .visualization__list > div h3 {
    min-height: 11.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #main .visualization__list > div h3 span {
    font-size: 3rem;
    line-height: 1.2666666667;
  }
  #main .visualization__list > div p {
    margin-top: 1rem;
    min-height: 8.4rem;
  }
  #main .visualization__list > div p span {
    font-size: 2rem;
    line-height: 1.4;
  }
  #main .visualization__list > div:after {
    width: 2.1rem;
    height: 5.8rem;
    background-color: #FFF;
    clip-path: polygon(0% 0%, 0% 100%, 100% 50%);
    left: auto;
    right: -0.825rem;
    bottom: auto;
    top: 50%;
    transform: translate(100%, -50%);
  }
  #main .visualization__box03 {
    gap: 0rem 5rem;
  }
  #main .visualization__box03 .num-box {
    width: 58.9rem;
    gap: 1.5rem 0rem;
  }
  #main .visualization__box03 .num-box > div {
    gap: 0rem 1.8rem;
    height: 11rem;
    padding-left: 1.5rem;
  }
  #main .visualization__box03 .num-box > div .num {
    width: 8rem;
  }
  #main .visualization__box03 .num-box > div .num span {
    font-size: 5rem;
    line-height: 1;
  }
  #main .visualization__box03 .num-box > div .text {
    flex-direction: row;
    align-items: center;
    gap: 0rem 0rem;
  }
  #main .visualization__box03 .num-box > div .text span {
    font-size: 4rem;
    line-height: 1;
    width: 26.7rem;
  }
  #main .visualization__box03 .num-box > div .text span.cap {
    width: auto;
  }
  #main .visualization__box03 .text-box {
    padding: 4rem 0rem 5rem 0rem;
    width: 56rem;
  }
  #main .visualization__box03 .text-box .num-box02 {
    gap: 2.4rem 0rem;
  }
  #main .visualization__box03 .text-box .num-box02 > div {
    width: 47.6rem;
    padding: 3.5rem 2.5rem 3rem 2.5rem;
    min-height: 21rem;
  }
  #main .visualization__box03 .text-box .num-box02 > div p {
    margin-top: 2rem;
  }
  #main .visualization__box03 .text-box:after {
    width: 3.5rem;
    height: 4.1rem;
    background-color: #FFF;
    clip-path: polygon(100% 0%, 100% 100%, 0% 50%);
    top: 22.2rem;
  }
  #main .qa .section-in {
    padding: 12rem 0rem 7rem 0rem;
  }
  #main .qa .section-in .qa-box {
    width: 96rem;
  }
  #main .qa .section-in .qa-box > div {
    padding: 0rem 0rem 2.8rem 0rem;
  }
  #main .qa .section-in .qa-box .qa-q a {
    padding: 2.5rem 3rem 0rem 3rem;
  }
  #main .qa .section-in .qa-box .qa-q a span {
    font-size: 3rem;
    line-height: 1.2666666667;
  }
  #main .qa .section-in .qa-box .qa-q a:before {
    width: 3.1rem;
    height: 0.4rem;
    right: 4.3rem;
    top: 4.15rem;
  }
  #main .qa .section-in .qa-box .qa-q a:after {
    width: 0.4rem;
    height: 3.1rem;
    right: 5.65rem;
    top: 2.8rem;
  }
  #main .qa .section-in .qa-box .qa-a p {
    padding: 2.5rem 3rem 0rem 3rem;
  }
  #main .qa .section-in .qa-box .qa-a p span {
    font-size: 1.95rem;
    line-height: 1.4358974359;
    letter-spacing: 0em;
  }
  #main .cta .section-in {
    padding: 8rem 0rem 8rem 0rem;
  }
  #main .cta__btn-box {
    gap: 3rem 0rem;
  }
  #main .cta__btn-box > div.c-link-btn--contact {
    margin-top: 0.7rem;
  }
  #main .popupBox.pop-service03 .popup-box-in .popup-box-box .tl-box {
    border-bottom: 0.3rem solid #e7233b;
    padding: 2rem 0rem 1rem 0rem;
    display: flex;
    align-items: center;
    gap: 0rem 1.3rem;
    justify-content: center;
  }
  #main .popupBox.pop-service03 .popup-box-in .popup-box-box .tl-box .icon {
    width: 5.7rem;
    aspect-ratio: 1;
  }
  #main .popupBox.pop-service03 .popup-box-in .popup-box-box .tl-box .tl span {
    font-family: YakuHanRP, m-plus-rounded-2p, sans-serif;
    font-weight: 700;
    font-size: 3.06rem;
    line-height: 1;
    color: #e7233b;
  }
  #main .popupBox.pop-service03 .popup-box-in .popup-box-box .img {
    padding-top: 5.8rem;
  }
  #main .popupBox.pop-service03 .popup-box-in .popup-box-box .img.img01 {
    width: 108.5rem;
    padding-bottom: 1.6rem;
  }
  #main .popupBox.pop-service03 .popup-box-in .popup-box-box .img.img02 {
    width: 107rem;
    padding-bottom: 4.7rem;
  }
  #main .popupBox.pop-service03 .popup-box-in .popup-box-box .img.img03 {
    width: 108.25rem;
    padding-bottom: 6rem;
  }
  #main .popupBox.pop-service03 .popup-box-in .popup-box-box .img.img04 {
    width: 108rem;
    padding-bottom: 6rem;
  }
  #main .popupBox.pop-simulation .popup-box-in .popup-box-in-in .popup-box-box {
    width: 80rem;
  }
  #main .popupBox.pop-simulation .popup-box-in .popup-box-in-in .popup-box-box .popup-contents-in {
    padding: 8rem 6rem 4rem 6rem;
  }
  #main .popupBox.pop-simulation .popup-box-in .popup-box-in-in .popup-box-box .popup-contents-in .tl {
    margin-bottom: 4rem;
  }
  #main .popupBox.pop-simulation .popup-box-in .popup-box-in-in .popup-box-box .popup-contents-in .tl span {
    font-size: 4rem;
    line-height: 1.4;
  }
}

.popup-overlay {
  background-color: rgba(229, 239, 251, 0.8);
  position: fixed;
  z-index: 9990;
  width: 100%;
  height: 100%;
  min-height: 100%;
  top: 0;
  left: 0;
  display: none;
}
.popup-overlay.view {
  display: block;
}

.popupBox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  z-index: 9991;
  display: none;
  -webkit-overflow-scrolling: touch;
}
.popupBox .popup-box-in {
  width: 100%;
  position: relative;
  display: table;
  height: 100%;
  min-height: 100%;
  z-index: 9992;
}
.popupBox .popup-box-in .popup-box-in-in {
  display: table-cell;
  vertical-align: middle;
  padding: 2rem 0rem;
  position: relative;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box {
  position: relative;
  z-index: 9993;
  width: 85rem;
  margin: 0 auto;
  border-radius: 1.33rem;
  background-color: #FFF;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .popup-contents-in {
  pointer-events: none;
  display: none;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .popup-contents-in.view {
  display: block;
  pointer-events: auto;
}
.popupBox .popup-box-in .popup-box-in-in .close {
  width: 5rem;
  position: absolute;
  top: 0rem;
  padding-top: 0.4rem;
  right: 2rem;
  z-index: 9995;
}
.popupBox .popup-box-in .popup-box-in-in .close a {
  display: block;
  width: 100%;
  height: 8.2rem;
  position: relative;
}
.popupBox .popup-box-in .popup-box-in-in .close a span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 5rem;
  height: 0.4rem;
  background-color: #000;
  transition: background-color 200ms ease, transform 250ms ease, width 250ms ease, top 200ms ease;
  transform: translate(-50%, -50%);
}
.popupBox .popup-box-in .popup-box-in-in .close a span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
.popupBox .popup-box-in .popup-box-in-in .close a span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.popupBox.view {
  display: block;
  animation: 200ms blockopacity02;
}
@media screen and (min-width: 768px) {
  .popupBox .popup-box-in .popup-box-in-in .popup-box-box {
    width: 120rem;
  }
  .popupBox .popup-box-in .popup-box-in-in .close {
    right: 1.2rem;
    padding-top: 0.4rem;
  }
}

.sp_only {
  display: none;
}

.sp_only_inline {
  display: none;
}

.sp_none_inline {
  display: inline !important;
}

.dispnone {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .sp_only {
    display: block;
  }
  .sp_only_inlineblock {
    display: inline-block;
  }
  .sp_none {
    display: none !important;
  }
  .sp_only_inline {
    display: inline;
  }
  .sp_none_inline {
    display: none !important;
  }
}
@keyframes blockopacity02 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes marqueeScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--marquee-width) * -1));
  }
}