/* common */
html {
  font-size: clamp(0.333333333125rem, 0rem + 0.6944vw, 0.4340277775rem);
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
  color: #494040;
  /*max-width: 1000px;*/
  margin: 0 auto;
  text-align: unset;
}

img {
  display: block;
  width: 100%;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.br-sp {
  display: none;
}

.br-pc {
  display: inline-block;
}

.title {
  font-size: 4.2rem;
  width: fit-content;
  margin: 0 auto;
}

.diagonal-double-line {
  position: relative;
}

.diagonal-double-line::before,
.diagonal-double-line::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 4.85rem;
  height: 5.09rem;
  background-color: #494040;
  transform: translateY(-50%);
}

.diagonal-double-line::before {
  left: -6rem;
  background: url(../../img/diagonal-double-line-left.png) no-repeat center center;
  background-size: contain;
}

.diagonal-double-line::after {
  right: -6rem;
  background: url(../../img/diagonal-double-line-right.png) no-repeat center center;
  background-size: contain;
}

.diagonal-double-line-white {
  position: relative;
}

.diagonal-double-line-white::before,
.diagonal-double-line-white::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 3.8rem;
  height: 5.7rem;
  background-color: #494040;
  transform: translateY(-50%);
}

.diagonal-double-line-white::before {
  left: -6rem;
  background: url(../../img/diagonal-double-line-white-left.png) no-repeat center center;
  background-size: contain;
}

.diagonal-double-line-white::after {
  right: -6rem;
  background: url(../../img/diagonal-double-line-white-right.png) no-repeat center center;
  background-size: contain;
}

.underline {
  position: relative;
  width: fit-content;
  margin: 0 auto;
}

.underline::before {
  content: "";
  width: 100%;
  height: auto;
  position: absolute;
  bottom: -3rem;
  aspect-ratio: 656 / 33.91;
  z-index: -1;
}

.underline-yellow::before {
  background: url(../../img/double-underline-yellow.png) no-repeat center center;
  background-size: cover;
}

.underline-white::before {
  background: url(../../img/double-underline-white.png) no-repeat center center;
  background-size: cover;
  z-index: 0;
  left: 0;
  bottom: -1.6rem;
}

.cta {
  padding: 5.1rem 0 6.3rem;
}

.cta-title {
  font-size: 4.24rem;
  width: fit-content;
  margin: 0 auto;
}

.cta-title>span {
  font-size: 3.6rem;
}

.cta-text {
  font-size: 4.24rem;
  text-align: center;
  margin-top: 3rem;
}

.cta-text>span {
  font-family: "Roboto", sans-serif;
  font-size: 8.8rem;
  color: #5897f0;
  position: relative;
}

.cta-text>span::before {
  content: "";
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 0;
  aspect-ratio: 656 / 33.91;
  z-index: -1;
  background: url(../../img/double-underline-blue.png) no-repeat center center;
  background-size: cover;
}

.cta-text>span>span {
  font-size: 5.76rem;
}

.cta-text>span:last-of-type {
  font-size: inherit;
  color: inherit;
  position: initial;
  text-align: center;
}

.cta-text>span:last-of-type::before {
  display: none;
}

.cta-button {
  width: 101.1rem;
  margin: 3.2rem auto 0;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  border-radius: 2rem;
  border: 3px solid #5897f0;
  border-color: #ff6e00;
}

.cta-button-arrow {
  width: 8.6rem;
  background-color: #5897f0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1.4rem 0 0 1.4rem;
  background-color: #ff6e00;
}

.cta-button-arrow img {
  width: 4.5rem;
}

.cta-button-text {
  width: calc(100% - (8.6rem + 42.2rem));
  padding: 4.3rem;
  font-size: 2.8rem;
  line-height: 1.33;
  background-color: #fff;
}

.cta-button-text>span {
  font-size: 4.1rem;
  line-height: 1.4;
  color: #9a4891;
  text-decoration: dashed underline #9a4891;
  -webkit-text-decoration: dashed underline #9a4891;
  text-underline-offset: 1rem;
}

.cta-button-img {
  width: 42.2rem;
}

.cta2 {
  background: linear-gradient(81.95deg, #82eae6 5.32%, #7ee5da 94.68%);
  color: #fff;
}

.cta2 .cta-title::before {
  background: url(../../img/diagonal-double-line-white-left2.png) no-repeat center center;
}

.cta2 .cta-title::after {
  background: url(../../img/diagonal-double-line-white-right2.png) no-repeat center center;
}

.cta2 .cta-button {
  /*border: none;*/
}

.cta2 .cta-button-text {
  color: #494040;
}

.cta2 .cta-text>span {
  letter-spacing: 0.08em;
  text-shadow: rgb(255, 255, 255) 3px 0px 0px,
    rgb(255, 255, 255) 2.83487px 0.981584px 0px,
    rgb(255, 255, 255) 2.35766px 1.85511px 0px,
    rgb(255, 255, 255) 1.62091px 2.52441px 0px,
    rgb(255, 255, 255) 0.705713px 2.91581px 0px,
    rgb(255, 255, 255) -0.287171px 2.98622px 0px,
    rgb(255, 255, 255) -1.24844px 2.72789px 0px,
    rgb(255, 255, 255) -2.07227px 2.16926px 0px,
    rgb(255, 255, 255) -2.66798px 1.37182px 0px,
    rgb(255, 255, 255) -2.96998px 0.42336px 0px,
    rgb(255, 255, 255) -2.94502px -0.571704px 0px,
    rgb(255, 255, 255) -2.59586px -1.50383px 0px,
    rgb(255, 255, 255) -1.96093px -2.27041px 0px,
    rgb(255, 255, 255) -1.11013px -2.78704px 0px,
    rgb(255, 255, 255) -0.137119px -2.99686px 0px,
    rgb(255, 255, 255) 0.850987px -2.87677px 0px,
    rgb(255, 255, 255) 1.74541px -2.43999px 0px,
    rgb(255, 255, 255) 2.44769px -1.73459px 0px,
    rgb(255, 255, 255) 2.88051px -0.838247px 0px, 0px 0px 30px #5897f0;
}

.cta2 .cta-text>span::before {
  z-index: 0;
}

.cta2 .cta-text>span:last-of-type {
  display: inline;
  text-shadow: none;
  text-align: right;
}

.cta2 .cta-text>span:last-of-type::before {
  display: none;
}

/* header */
header {
  /*background-color: #fff;*/
  padding: 1.3rem 0;
}

header>h1 {
  margin-left: 15.3rem;
  width: 25.2rem;
}

/* main */
.mv {
  max-width: 1000px;
}

.campaign {
  margin-bottom: 6rem;
}

.campaign-slider-container {
  width: 99rem;
  margin: 3.81rem auto 0;
  position: relative;
}

.campaign-slider {
  width: 80rem;
  margin: 0 auto;
  position: initial;
}

.prev-arrow,
.next-arrow {
  display: block;
  width: 4rem;
  height: 4rem;
  transition: all 0.3s ease;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.prev-arrow {
  background: url("../img/arrow-left.png") no-repeat center center;
  background-size: contain;
  left: 0;
}

.next-arrow {
  background: url("../img/arrow-right.png") no-repeat center center;
  background-size: contain;
  right: 0;
}

.dots-wrap {
  display: flex;
  justify-content: center;
  margin-top: 4rem;
  gap: 2.94rem;
}

.dots-wrap li {
  width: 1.54rem;
  height: 1.54rem;
  background: #d9d9d9;
  border-radius: 50%;
  cursor: pointer;
}

.dots-wrap li:hover,
.dots-wrap li.slick-active {
  background: #333333;
}

.dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

.campaign>h3:first-of-type {
  font-size: 4.2rem;
  text-align: center;
  margin-top: 6.96rem;
}

.campaign>h3:first-of-type {
  font-size: 4.2rem;
  text-align: center;
  margin-top: 6.96rem;
}

.campaign>h3:nth-of-type(2) {
  font-size: 8rem;
  text-align: center;
  color: #5897f0;
  margin-top: 2.4rem;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 30px #5897f0;
}

.campaign>h3:nth-of-type(2)>span {
  font-size: 7rem;
}

.campaign>h3:last-of-type {
  font-size: 4.2rem;
  text-align: center;
  letter-spacing: -0.01em;
  margin-top: 3.7rem;
}

.campaign>img {
  width: 75rem;
  margin: 6.5rem auto 0;
}

.eaon_tokuten {
  background-color: #FFDBF2;
}

@media screen and (min-width:768px) {
  .eaon_tokuten {
    margin-top: 0;
    margin-bottom: 50px;
    padding: 20px 0 50px;
  }
}

.eaon_tokuten .title {
  margin: 0 auto;
  width: 90%;
  max-width: 800px;
}

.eaon_tokuten .tokuten_flex {
  gap: 20px;
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
  position: relative;
}

@media screen and (max-width:767px) {
  .eaon_tokuten {
    margin: 0 auto 30px;
    padding: 20px 0 30px;
  }

  .eaon_tokuten .tokuten_item {
    width: 45%;
  }
}

.eaon_tokuten .eaon5_btn {
  display: block;
  width: 14.7%;
  position: absolute;
  right: 7.5%;
  bottom: 8.3%;
}

@media screen and (max-width:767px) {
  .eaon_tokuten .eaon5_btn {
    width: 22.4%;
    right: 10.2%;
    bottom: 5.7%;
  }
}

.point {
  position: relative;
  padding: 9.6rem 0 15rem;
  background: linear-gradient(81.95deg, #ecf6ff 5.32%, #ddedfd 94.68%);
}

.point-bg {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}

.point>h2 {
  font-size: 9rem;
  line-height: 1.4;
  text-align: center;
  color: #5897f0;
  font-family: "Inter";
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 16px #ffffff;
}

.point>h2>span {
  font-size: 6rem;
}

.point-detail-container {
  width: 101.2rem;
  margin: 10.45rem auto 0;
}

.point-detail {
  width: 100%;
  position: relative;
}

.point-detail:not(:first-of-type) {
  margin-top: 8.4rem;
}

.point-number {
  width: fit-content;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 50% 50% 0 0;
  position: absolute;
  left: 50%;
  top: -5rem;
  z-index: 3;
  transform: translateX(-50%);
  font-size: 4.4rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1;
  background-color: #5897f0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 1.907rem 0rem;
  font-family: "Roboto", sans-serif;
}

.point-number>span:first-of-type {
  font-size: 1.3rem;
}

.point-detail-title {
  background-color: #5897f0;
  padding: 3.5rem 0 1.6rem;
  text-align: center;
  font-size: 3.2rem;
  text-align: center;
  letter-spacing: 0.06em;
  color: #ffffff;
  border-radius: 2rem 2rem 0 0;
}

.point-detail-content {
  background: #ffffff;
  border: 5px solid #5897f0;
  border-radius: 0px 0px 2rem 2rem;
  padding: 4rem 0 7rem;
}

.point-detail-content>p {
  font-size: 3.74rem;
  line-height: 1.3;
  text-align: center;
}

.point-detail-content>p>span {
  font-size: 5.5rem;
  color: #9a4891;
}

.point-detail-content>.annotaion {
  font-size: 3.08rem;
  margin-top: 1.5rem;
}

.point-detail-content>img {
  width: 75rem;
  margin: 4rem auto 0;
}

.point>h3 {
  font-size: 4.65rem;
  line-height: 2.2;
  text-align: center;
  color: #5897f0;
  margin-top: 6.7rem;
}

.point>h3>span {
  text-decoration: underline dotted #5897f0;
  -webkit-text-decoration: underline dotted #5897f0;
  text-decoration-thickness: 1rem;
  text-underline-offset: 2rem;
  font-size: 6.2rem;
}

.point-difference-container {
  width: 128rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 4rem;
  margin: 6.3rem auto 0;
}

.point-difference-item {
  width: 40rem;
  background-color: #fff;
  box-shadow: 0px 0px 23.8969px rgba(88, 151, 240, 0.5);
  border-radius: 2rem;
  padding: 3.7rem 0 4.6rem;
}

.point-difference-item1 {
  padding: 5.8rem 0 5.3rem;
}

.point-difference-item4 {
  padding: 2.9rem 0 5.3rem;
}

.point-difference-item5 {
  padding: 5.7rem 0 5.3rem;
}

.point-difference-item5 {
  padding: 5rem 0 4.6rem;
}

.point-difference-item img {
  margin: 0 auto;
}

.point-difference-item1>img {
  width: 22.9rem;
  margin-bottom: 5.3rem;
}

.point-difference-item2>img {
  width: 22rem;
  margin-bottom: 3.3rem;
}

.point-difference-item3>img {
  width: 28.4rem;
  margin-bottom: 4rem;
}

.point-difference-item4>img {
  width: 29.7rem;
  margin-bottom: 2.7rem;
}

.point-difference-item5>img {
  width: 30.8rem;
  margin-bottom: 5.4rem;
}

.point-difference-item6>img {
  width: 22.8rem;
  margin-bottom: 5.5rem;
}

.point-difference-item>h4 {
  font-size: 2.8rem;
  text-align: center;
}

.satisfaction {
  padding: 10.4rem 0 10rem;
  background: linear-gradient(81.95deg, #ecf6ff 5.32%, #ddedfd 94.68%);
}

.satisfaction>h2 {
  font-size: 9rem;
  line-height: 1.4;
  text-align: center;
  color: #5897f0;
  font-family: "Inter";
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 16px #ffffff;
}

.satisfaction>h2>span:first-of-type {
  font-size: 6rem;
}

.satisfaction>h2>span:last-of-type {
  font-family: "Inter";
}

.satisfaction-selection-container {
  width: 95.6rem;
  margin: 10rem auto 0;
  background-color: #fff;
  padding: 3.3rem;
  position: relative;
}

.satisfaction-selection-container-decoration {
  position: absolute;
  left: -15rem;
  top: 0;
  height: 100%;
  width: 15.2rem;
}

.satisfaction-selection-container-decoration.right {
  left: unset;
  right: -15rem;
  transform: rotate(180deg);
}

.satisfaction-selection-title {
  font-size: 4.24rem;
  line-height: 1.33;
  color: #9a4891;
  text-align: left;
  margin-left: 6.3rem;
}

.satisfaction-selection-text {
  font-size: 2.8rem;
  line-height: 1.33;
  margin-top: 2.9rem;
  margin-left: 6.3rem;
}

.satisfaction-img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -18rem;
  width: 37.1rem;
}

.satisfaction-technique-container {
  width: 102.4rem;
  background: #ffffff;
  border-radius: 1.6rem;
  margin: 17.8rem auto 0;
  padding: 10.3rem 0 15rem;
  position: relative;
}

.satisfaction-technique-title-img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -4.2rem;
  width: 41.1rem;
}

.satisfaction-technique-title {
  font-size: 4rem;
  line-height: 1.33;
  text-align: center;
}

.satisfaction-technique-title>span {
  font-size: 5rem;
  color: #5897f0;
  position: relative;
}

.satisfaction-technique-title>span::before {
  content: "";
  width: 100%;
  height: auto;
  position: absolute;
  bottom: -1rem;
  aspect-ratio: 656 / 33.91;
  z-index: 0;
  background: url(../../img/double-underline-blue.png) no-repeat center center;
  background-size: cover;
}

.satisfaction-technique-before-after {
  width: 96.3rem;
  max-width: 0 auto;
}

.satisfaction-technique-text {
  font-size: 4rem;
  line-height: 2;
  text-align: center;
  margin-top: 5.9rem;
}

.satisfaction-technique-text>span {
  font-size: 5rem;
  color: #5897f0;
  position: relative;
}

.satisfaction-technique-text>span::before {
  content: "";
  width: 100%;
  height: auto;
  position: absolute;
  bottom: -2rem;
  aspect-ratio: 656 / 33.91;
  z-index: 0;
  background: url(../../img/double-underline-blue.png) no-repeat center center;
  background-size: cover;
}

.satisfaction-technique-before-after2 {
  width: 89.9rem;
  margin: 8.6rem auto 0;
}

.quality {
  padding: 5.3rem 0 10.2rem;
}

.quality>h2 {
  font-size: 9rem;
  line-height: 1.5;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
}

.quality>h2>span {
  font-size: 4.65rem;
  text-shadow: initial;
  text-decoration: dotted underline #5897f0;
  -webkit-text-decoration: dotted underline #5897f0;
  text-decoration-thickness: 1rem;
  text-underline-offset: 2rem;
  color: #5897f0;
}

.quality-detail-container {
  width: 128rem;
  margin: 4.53rem auto 0;
}

.quality-detail {
  width: 100%;
  border-radius: 2rem;
}

.quality-detail:not(:first-of-type) {
  margin-top: 5.3rem;
}

.quality-detail-title {
  background: url(../../img/quality-detail-title-bg.png) no-repeat center center;
  background-size: cover;
  aspect-ratio: 1280 / 186.68;
  padding: 6.6rem 0 2.5rem 25.6rem;
  font-size: 4rem;
  line-height: 1.2;
  letter-spacing: 0.03em;
  color: #ffffff;
}

.quality-detail-content {
  padding: 4.2rem 0 7rem;
  border: 5px solid #5897f0;
  border-radius: 0 0 2rem 2rem;
}

.quality-detail-content>p {
  font-size: 2.8rem;
  line-height: 1.33;
  width: 106rem;
  margin: 0 auto;
}

.quality-detail-content>p>span {
  color: #5897f0;
}

.quality-detail-img {
  width: 75rem;
  margin: 6.7rem auto 0;
}

.review {
  padding: 10rem 0 15.3rem;
  background: linear-gradient(182.42deg, #ffffff 3.24%, #ddedfd 97.97%);
}

.review h2 {
  font-size: 6.3rem;
  line-height: 1.33;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
}

.review h2>span {
  font-size: 4.65rem;
  text-shadow: initial;
  text-decoration: dotted underline #5897f0;
  -webkit-text-decoration: dotted underline #5897f0;
  text-decoration-thickness: 1rem;
  text-underline-offset: 2rem;
  color: #5897f0;
  margin-bottom: 4.3rem;
  display: inline-block;
}

.review-container {
  width: 120rem;
  margin: 11.2rem auto 0;
}

.review-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.review-item:not(:first-child) {
  margin-top: 6.4rem;
}

.review-item-icon {
  width: 20rem;
}

.review-item-text {
  width: 92.4rem;
  background-color: #fff;
  padding: 3.4rem 5.2rem;
  border-radius: 2rem;
}

.review-item-text>img {
  width: 21.9rem;
}

.review-item-text>p {
  font-size: 2rem;
  line-height: 1.6;
  margin-top: 2.5rem;
}

.review-item-text>p>span {
  color: #5897f0;
}

.handle {
  padding: 9.6rem 0 7.1rem;
}

.handle h2 {
  font-size: 6.3rem;
  line-height: 1.33;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
}

.handle h2>span {
  font-size: 4.65rem;
  text-shadow: initial;
  text-decoration: dotted underline #9a4891;
  -webkit-text-decoration: dotted underline #9a4891;
  text-decoration-thickness: 1rem;
  text-underline-offset: 2rem;
  color: #9a4891;
  margin-bottom: 4.3rem;
  display: inline-block;
}

.handle img {
  width: 97.7rem;
  margin: 6.7rem auto 0;
}

.plan-introduction {
  padding: 7.3rem 0 6.4rem;
}

.plan-introduction h2 {
  font-size: 7.2rem;
  line-height: 1.33;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
}

.plan-introduction h2>span {
  font-size: 5.2rem;
  text-shadow: initial;
  text-decoration: dotted underline #5897f0;
  -webkit-text-decoration: dotted underline #5897f0;
  text-decoration-thickness: 1rem;
  text-underline-offset: 2rem;
  color: #5897f0;
  margin-bottom: 4.3rem;
  display: inline-block;
}

.plan-introduction-table {
  width: 128rem;
  margin: 7.2rem auto 0;
  font-size: 2.2rem;
  line-height: 1.6;
}

.plan-introduction-table>tbody>tr:first-of-type>td {
  font-size: 3rem;
  line-height: 1.33;
  text-align: center;
  color: #fff;
  border-radius: 2rem 2rem 0 0;
  padding: 1.5rem 0;
}

.plan-introduction-table>tbody>tr:first-of-type>td:nth-of-type(2) {
  background-color: #f95e80;
}

.plan-introduction-table>tbody>tr:first-of-type>td:nth-of-type(3) {
  background-color: #4ac278;
}

.plan-introduction-table>tbody>tr:first-of-type>td:nth-of-type(4) {
  background-color: #33cae8;
}

.plan-introduction-table>tbody>tr>td {
  width: 28.5rem;
  border-bottom: 1px solid #d9d9d9;
}

.plan-introduction-table>tbody>tr>td:first-of-type {
  width: 42.4rem;
  text-align: left;
  padding: 3.1rem 0;
}

.plan-introduction-table>tbody>tr>td.keisen {
  background-image: linear-gradient(to right top,
      transparent calc(50% - 0.5px),
      #eaeaea 50%,
      #eaeaea calc(50% + 0.5px),
      transparent calc(50% + 1px));
  display: grid;
  width: 100%;
  justify-content: space-between;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  color: #5897f0;
  border-right: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  border-left: 1px solid #d9d9d9;
  padding: 2.7rem 3.1rem !important;
}

.plan-introduction-table>tbody>tr>td.keisen span.col-header {
  grid-column-start: 2;
  text-align: right;
  font-size: 2.2rem;
  white-space: nowrap;
}

.plan-introduction-table>tbody>tr>td.keisen span.row-header {
  grid-column-start: 1;
  font-size: 2.2rem;
  white-space: nowrap;
}

.plan-introduction-table>tbody>tr:not(:first-of-type)>td:not(:first-of-type) {
  padding: 2.7rem 0;
  text-align: center;
  border-right: 1px solid #d9d9d9;
}

.plan-introduction-table>tbody>tr:not(:first-of-type)>td:first-of-type {
  padding: 1.9rem 0 1.9rem 3.2rem;
  border-left: 1px solid #d9d9d9;
  border-right: 1px solid #d9d9d9;
}

.plan-introduction-table>tbody>tr:not(:nth-of-type(2))>td:first-of-type>span {
  position: relative;
  padding-left: 1em;
  text-indent: -0.8em;
  display: inline-block;
}

.plan-introduction-table>tbody>tr:not(:nth-of-type(2))>td:first-of-type>span::before {
  content: '';
  display: inline-block;
  width: 0.2em;
  height: 0.2em;
  background: #494040;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 0.5em;
}

.plan-introduction-table .mark {
  vertical-align: middle;
}

.plan-introduction-table .mark img {
  width: 6rem;
  display: block;
  margin: 0 auto;
}

.plan-introduction-table .xmark img {
  width: 5.2rem;
}

.plan-introduction-table .mark span {
  font-size: 2.2rem;
  text-align: center;
  margin-top: 1rem;
}

.plan-introduction-table .table-underline-pink span {
  background: linear-gradient(to bottom,
      transparent 80%,
      rgba(249, 94, 128, 0.2) 80%,
      rgba(249, 94, 128, 0.2) 100%);
}

.plan-introduction-table .table-underline-green span {
  background: linear-gradient(to bottom,
      transparent 80%,
      rgba(74, 194, 120, 0.3) 80%,
      rgba(74, 194, 120, 0.3) 100%);
}

.plan-introduction-table .table-underline-blue span {
  background: linear-gradient(to bottom,
      transparent 80%,
      rgba(51, 202, 232, 0.3) 80%,
      rgba(51, 202, 232, 0.3) 100%);
}

.plan-introduction-table caption {
  caption-side: bottom;
  margin-top: 2.5rem;
  font-size: 1.7rem;
  line-height: 1.33;
}

.plan-introduction-table caption a {
  color: #5897f0;
}

.plan {
  padding: 9.8rem 0 11.5rem;
  background: linear-gradient(81.95deg, #fff6b5 5.32%, #ffe04a 94.68%);
}

.plan-container {
  width: 128rem;
  max-width: 770px;
  margin: 0 auto;
}

.plan-tabs {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.plan-tab {
  width: 32%;
  border-radius: 2rem 2rem 0 0;
  padding: 2rem 0;
  font-size: 4.2rem;
  text-align: center;
}

.light-tab {
  background-color: #f95e80;
  color: #fff;
  cursor: pointer;
}

.standard-tab {
  background-color: #4ac278;
  color: #fff;
  cursor: pointer;
}

.premium-tab {
  background-color: #33cae8;
  color: #fff;
  cursor: pointer;
}

.plan-tab.active {
  background-color: #fff;
  cursor: initial;
}

.light-tab.active {
  color: #f95e80;
}

.standard-tab.active {
  color: #4ac278;
}

.premium-tab.active {
  color: #33cae8;
}

.plan-content {
  display: none;
  padding: 4.8rem 0 7rem;
  background-color: #fff !important;
  border-radius: 0 0 2rem 2rem;
}

.plan-content.active {
  display: block;
}

.plan-content-title {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6.8rem;
}

.plan-content-title>h2 {
  font-size: 4.2rem;
  line-height: 1.2;
  text-align: center;
}

.plan-content-title>h2>span {
  font-size: 7rem;
  color: #f95e80;
}

.standard-content .plan-content-title>h2>span {
  color: #4ac278;
}

.premium-content .plan-content-title>h2>span {
  color: #33cae8;
}

.time {
  font-size: 2.8rem;
  text-align: center;
  line-height: 1.3;
  padding: 1.9rem 3.9rem;
  background-color: #f6f6f6;
  margin-right: 9.3rem;
}

.time>span {
  font-size: 4.2rem;
}

.plan-content-subtitle {
  font-size: 3.2rem;
  line-height: 1.33;
  text-align: center;
  margin-top: 4.2rem;
  position: relative;
}

.plan-content-subtitle::before,
.plan-content-subtitle::after {
  content: "";
  background: url(../../img/plan-content-subtitle-decoration-red.png);
  width: 11.7rem;
  height: 0.9rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.standard-content .plan-content-subtitle::before,
.standard-content .plan-content-subtitle::after {
  width: 6.23rem;
  background: url(../../img/plan-content-subtitle-decoration-green.png);
}

.premium-content .plan-content-subtitle::before,
.premium-content .plan-content-subtitle::after {
  width: 9rem;
  background: url(../../img/plan-content-subtitle-decoration-blue.png);
}

.plan-content-subtitle::before {
  left: 10rem;
}

.plan-content-subtitle::after {
  right: 10rem;
}

.plan-available {
  width: 99.4rem;
  margin: 4.4rem auto 0;
}

.accordion-container {
  width: 111.6rem;
  margin: 6.4rem auto 0;
}

.accordion-title {
  padding: 1.9rem 0;
  background-color: #f6f6f6;
  font-size: 2.8rem;
  line-height: 1.33;
  text-align: center;
  position: relative;
  cursor: pointer;
}

.accordion-title::after {
  content: "";
  display: inline-block;
  width: 3.4rem;
  height: auto;
  aspect-ratio: 1 / 1;
  margin-left: 1.2rem;
  background: url(../../img/accordion-plus.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 5.6rem;
  transform: translateY(-50%);
}

.accordion-title.active::after {
  aspect-ratio: 27 / 4;
  background: url(../../img/accordion-minus.png) no-repeat;
  background-size: contain;
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.accordion-content.active {
  max-height: 100rem;
  transition: max-height 0.3s ease-in;
  background-color: #fff !important;
}

/* 共通 layout.css（SP）の `.accordion-content { display: none; }` に打ち消され、
   SPでカセットのアコーディオンが開かないため、詳細度を上げて表示を戻す。
   （開閉は max-height で制御するので display は block でよい） */
@media screen and (max-width: 767px) {
  .plan-content .accordion-content {
    display: block;
  }
}

.accordion-price-img {
  margin-top: 4.9rem;
}

.accordion-content-subtitle {
  font-size: 3.6rem;
  line-height: 1.4;
  text-align: center;
  margin-top: 7.26rem;
  position: relative;
}

.accordion-content-subtitle::before,
.accordion-content-subtitle::after {
  content: "";
  background: url(../../img/plan-content-subtitle-decoration-red.png);
  width: 11.6rem;
  height: 0.9rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.accordion-content-subtitle::before {
  left: 4rem;
}

.accordion-content-subtitle::after {
  right: 4rem;
}

.standard-content .accordion-content-subtitle::before,
.standard-content .accordion-content-subtitle::after {
  width: 6.23rem;
  background: url(../../img/plan-content-subtitle-decoration-green.png);
}

.premium-content .accordion-content-subtitle::before,
.premium-content .accordion-content-subtitle::after {
  width: 9rem;
  background: url(../../img/plan-content-subtitle-decoration-blue.png);
}

.copy-text-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  border: 1px solid #999999;
  border-radius: 2rem;
  width: fit-content;
  margin: 3rem auto 0;
  padding: 2.15rem 7.5rem;
}

.copy-text-container>span:first-of-type {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.33;
  color: #999999;
}

.copy-text-container>span:nth-of-type(2) {
  font-size: 4.2rem;
  line-height: 1.33;
}

.copy-text-container>button {
  padding: 1rem 3rem;
  background: #4990e2;
  border-radius: 1rem;
  font-size: 2.8rem;
  color: #fff;
}

.accordion-container .annotation {
  font-size: 2.2rem;
  line-height: 1.33;
  color: #ff0000;
  text-align: center;
  margin-top: 2rem;
}

.accordion-link {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1.5rem;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.33;
  text-decoration: underline solid #4990e2;
  -webkit-text-decoration: underline solid #4990e2;
  color: #4990e2;
}

.accordion-link img {
  width: 2.6rem;
  height: 2.7rem;
}

.apply-btn-container {
  width: 107rem;
  margin: 5rem auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.apply-btn {
  font-size: 3.2rem;
  line-height: 1.33;
  padding: 1.2rem 0;
  text-align: center;
  color: #fff;
  display: block;
  width: 50rem;
  background-color: #7c87f4;
  border: 5px solid #fff;
  border-radius: 1rem;
  box-shadow: 0px 4px 4px rgba(124, 135, 244, 0.25);
  border-radius: 6rem;
  position: relative;
}

@media screen and (min-width:768px) {
  .apply-btn {
    min-height: 85px;
  }
}

.apply-btn span {
  font-size: 2.2rem;
}

form:last-of-type .apply-btn {
  background-color: #f95e80;
}

.standard-content .apply-btn {
  background-color: #fc943a;
}

.standard-content form:last-of-type .apply-btn {
  background-color: #4ac278;
}

.premium-content .apply-btn {
  background-color: #d68eee;
}

.premium-content form:last-of-type .apply-btn {
  background-color: #33cae8;
}

.apply-btn::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 5rem;
  transform: translateY(-50%);
}

.location-btn {
  width: 65%;
  margin: 2em auto 0;
  display: block;
  font-size: 16px;
  padding: 1.2rem 0;
  text-align: center;
  border: 1px solid #f95e80;
  position: relative;
}

.location-btn::after {
  color: #f95e80;
  content: ">";
  position: absolute;
  top: 50%;
  right: 2.9rem;
  transform: translateY(-50%);
}

.standard-content .location-btn {
  border: 1px solid #4ac278;
}

.standard-content .location-btn::after {
  color: #4ac278;
}

.premium-content .location-btn {
  border: 1px solid #33cae8;
}

.premium-content .location-btn::after {
  color: #33cae8;
}

.option {
  padding: 7.8rem 0 6rem;
  background: linear-gradient(182.42deg, #ffffff 3.24%, #ddedfd 97.97%);
}

.option h2 {
  font-size: 5.2rem;
  color: #9a4891;
  text-align: center;
}

.option-container {
  width: 128.2rem;
  margin: 7.8rem auto 0;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

@media screen and (min-width:768px) {
  .option-container {
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
  }
}

.option-item {
  border-radius: 2rem;
  background: #ffffff;
  box-shadow: 0px 0px 1.8rem rgba(88, 151, 240, 0.5);
  width: 30rem;
  padding-bottom: 2.2rem;
}

@media screen and (min-width:768px) {
  .option-item img {
    object-fit: cover;
    height: 98px;
  }
}

@media screen and (max-width:767px) {
  .option-item img {
    object-fit: cover;
    height: 80px;
  }
}

.option-title {
  font-size: 2.1rem;
  line-height: 1.33;
  text-align: center;
  margin-top: 3.1rem;
}

.option-explain {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.33;
  margin: 1.9rem 2rem 3.9rem;
}

.option-item2 .option-explain,
.option-item3 .option-explain {
  margin-bottom: 1.2rem;
}

.option-time-price {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.33;
  margin-bottom: 2.9rem;
  width: fit-content;
  margin-left: 2rem;
}

.option-link-btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
  font-weight: 500;
  font-size: 1.6rem;
  margin-right: 1.4rem;
}

.option-link-btn img {
  width: 2.6rem;
  height: 2.7rem;
}

.option>h3 {
  padding: 2.3rem 0;
  width: 86rem;
  margin: 7.6rem auto 0;
  background: url(../../img/option-bg.png) center center / cover no-repeat;
  font-size: 4rem;
  line-height: 1.3;
  text-align: center;
  color: #9a4891;
}

.news {
  padding: 7rem 0 7.8rem;
  background: linear-gradient(182.42deg, #ffffff 3.24%, #ddedfd 97.97%);
}

.news h2 {
  font-size: 7rem;
  line-height: 1.4;
  text-align: center;
  color: #5897f0;
}

.news h2 span:first-of-type {
  font-size: 6rem;
}

.news h2 span:last-of-type span {
  font-size: 9rem;
}

.news-container {
  width: 90rem;
  padding-bottom: 8.8rem;
  margin: 4.15rem auto 0;
  background-color: #fff;
  border-radius: 2rem;
}

.news-container>h3 {
  position: relative;
  font-size: 4.94rem;
  width: fit-content;
  margin: 3.3rem auto 0;
  letter-spacing: 0.06em;
  color: #f95e80;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 10px #f95e80;
}

.news-container>h3::before,
.news-container>h3::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 6.97rem;
  height: 8.8rem;
  background-color: #494040;
  transform: translateY(-50%);
}

.news-container>h3::before {
  left: -6rem;
  background: url(../../img/diagonal-double-line-pink-left.png) no-repeat center center;
  background-size: contain;
}

.news-container>h3::after {
  right: -6rem;
  background: url(../../img/diagonal-double-line-pink-right.png) no-repeat center center;
  background-size: contain;
}

.news-img {
  width: 79rem;
  margin: 2.6rem auto 0;
}

.select_wrapper,
.news-text {
  padding: 1.6rem 2.9rem;
  width: 68rem;
  border: 2px solid #5897f0;
  border-radius: 1rem;
  margin: 5.9rem auto 0;
  font-size: 2.2rem;
  line-height: 1.33;
  color: #5897f0;
  position: relative;
}

.select_wrapper::after,
.news-text::after {
  content: "";
  background: url(../../img/chevron-down.png) center center no-repeat;
  background-size: contain;
  width: 2.6rem;
  height: 1.5rem;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translateY(-50%);
}

.news-img2 {
  width: 71.1rem;
  margin: 4rem auto 0;
}

.cleaning {
  padding: 7.5rem 0 2.5rem;
}

.cleaning h2 {
  font-size: 6.3rem;
  line-height: 1.33;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
}

.cleaning h2>span {
  font-size: 4.65rem;
  text-shadow: initial;
  text-decoration: dotted underline #5897f0;
  -webkit-text-decoration: dotted underline #5897f0;
  text-decoration-thickness: 1rem;
  text-underline-offset: 2rem;
  color: #5897f0;
  margin-bottom: 4.3rem;
  display: inline-block;
}

.cleaning-slider-container {
  width: 128rem;
  margin: 7.5rem auto 0;
}

.cleaning-slider-item {
  background: #ffffff;
  box-shadow: 0px 0px 1.77838rem rgba(88, 151, 240, 0.5);
  margin-bottom: 1rem;
  border-radius: 2rem;
  padding-bottom: 1.9rem;
}

.cleaning-slider-item p {
  font-size: 2.8rem;
  line-height: 1.33;
  margin-top: 2.5rem;
  text-align: center;
  flex-grow: 1;
}

.cleaning-slider-item .right-arrow {
  width: 4.6rem;
  height: 4.6rem;
  margin: 1.9rem 1rem 0 auto;
}

.cleaning-slider-container .slick-list {
  margin: 0 -2rem;
}

.cleaning-slider-container .slick-slide {
  margin: 0 2rem 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.cleaning-link-btn {
  font-size: 2.8rem;
  color: #fff;
  text-align: center;
  padding: 3.15rem 0;
  width: 60rem;
  margin: 4.5rem auto 0;
  display: block;
  background-color: #5897f0;
  border-radius: 2rem;
}

.flow {
  padding: 6.3rem 0 15rem;
  background: linear-gradient(81.95deg, #ecf6ff 5.32%, #ddedfd 94.68%);
}

.flow h2 {
  font-size: 6rem;
  line-height: 1.33;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
}

.flow h3 {
  font-size: 4.1rem;
  line-height: 1.33;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
  margin-top: 4.57rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flow h3:before,
.flow h3:after {
  content: "";
  display: block;
  margin: 0 2rem;
  width: 33rem;
  height: 0.88rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../../img/flow-decoration-blue.png) no-repeat center center;
  background-size: contain;
}

.flow h3:before {
  left: 7rem;
}

.flow h3:after {
  right: 7rem;
  transform: rotate(180deg);
}

.step-container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 128rem;
  margin: 6.04rem auto 0;
}

.step-item {
  width: 39.9rem;
}

.step-item-title {
  padding: 1.8rem 0 1.8rem 1.8rem;
  background-color: #5897f0;
  border-radius: 2rem 2rem 0 0;
  font-size: 2.25rem;
  color: #fff;
}

.step-item-title>span {
  background-color: #fff;
  border-radius: 3.35rem;
  padding: 0 1.43rem;
  font-size: 1.54rem;
  color: #5897f0;
  font-family: "Roboto";
  font-weight: 500;
  line-height: 1.2;
  display: inline-block;
  margin-right: 1.34rem;
}

.step-item-title>span>span {
  font-size: 2.7rem;
}

.step-item-text {
  padding: 3.45rem 2rem;
  background-color: #fff;
  width: 38.2rem;
  box-shadow: 0px 0px 1.8rem rgba(88, 151, 240, 0.5);
  border-radius: 2rem;
  font-size: 2rem;
  font-weight: 500;
  margin: -2.4rem auto 0;
  position: relative;
  z-index: 1;
}

.flow h2:nth-of-type(2) {
  margin-top: 10.8rem;
}

.flow h2:nth-of-type(2)>span {
  font-size: 5.2rem;
}

.flow-container {
  width: 104rem;
  margin: 6rem auto 0;
}

.flow-item {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}

.flow-item img {
  width: 37rem;
}

.flow-item-text {
  background-color: #fff;
  padding: 2.3rem 6rem 0 1.3rem;
  border-radius: 0 2rem 2rem 0;
  width: calc(100% - 37rem);
}

.flow-item-text h4 {
  font-size: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.8rem;
  margin-bottom: 2rem;
}

.flow-item-text h4 span {
  background-color: #f95e80;
  border-radius: 50%;
  width: 3.9rem;
  height: 3.9rem;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 2rem;
  font-family: "Roboto";
}

.flow-item-text p {
  margin-left: 5.7rem;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 1.45;
}

.flow-triangle {
  width: 5.6rem;
  margin: 1.5rem auto;
}

.support {
  padding: 7.5rem 0 11.5rem;
}

.support h2 {
  font-size: 7rem;
  line-height: 1.33;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
}

.support h2>span:first-of-type {
  font-size: 5.2rem;
  text-shadow: initial;
  text-decoration: dotted underline #5897f0;
  -webkit-text-decoration: dotted underline #5897f0;
  text-decoration-thickness: 1rem;
  text-underline-offset: 2rem;
  color: #5897f0;
  margin-bottom: 4.3rem;
  display: inline-block;
}

.support h2>span:last-of-type {
  font-size: 9rem;
}

.support-detail-container {
  width: 114rem;
  margin: 7.5rem auto 0;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  row-gap: 3rem;
}

@media screen and (min-width:768px) {
  .support-detail-container.sp {
    display: none;
  }
}

.support-detail-item {
  width: 26rem;
  background: #ffffff;
  box-shadow: 0px 0px 6px rgba(88, 151, 240, 0.5);
  border-radius: 2.4rem;
  padding: 3rem 0;
}

.support-detail-item>h3 {
  font-size: 2rem;
  text-align: center;
}

.support-detail-item>h3>span {
  color: #f76a0c;
}

.support-detail-item>img {
  width: 12rem;
  margin: 5.3rem auto 0;
}

.support-detail-item2>img {
  width: 9.8rem;
}

.support-detail-item3>img {
  width: 11.8rem;
  margin-top: 4.3rem;
}

.support-detail-item4>img {
  width: 11.1rem;
  margin-top: 6.3rem;
}

.support-detail-item5>img {
  margin-top: 4.3rem;
}

.support-detail-item6>img {
  margin-top: 5.8rem;
  width: 9rem;
}

.support-detail-item>p {
  font-size: 2rem;
  text-align: center;
  margin-top: 4.9rem;
  line-height: 1.33;
}

.support-detail-item2>p {
  margin-top: 5rem;
}

.support-detail-item3>p {
  margin-top: 4rem;
}

.support-detail-item4>p {
  margin-top: 6rem;
}

.support-detail-item5>p {
  margin-top: 4.3rem;
}

.support-detail-item6>p {
  margin-top: 5.5rem;
}

.support-detail-item>p>.orange {
  color: #f76a0c;
}

.support-detail-item>p>.big {
  font-size: 4.5rem;
}

.support-detail-item2>p>.big {
  font-size: 2.4rem;
}

.support-detail-item3>p>.big {
  font-size: 3rem;
}

.support-detail-item4>p>.big {
  font-size: 3rem;
}

.support-detail-item5>p>.big {
  font-size: 3rem;
}

.support-detail-item6>p>.big {
  font-size: 3rem;
}

.support-scrum-container {
  width: 114.2rem;
  background: #ffffff;
  box-shadow: 0px 0px 1.2rem rgba(88, 151, 240, 0.5);
  border-radius: 2rem;
  margin: 5rem auto 0;
  padding: 2.9rem 0 2.6rem;
}

.support-scrum-container h3 {
  font-size: 3.4rem;
  line-height: 1.33;
  text-align: center;
}

.support-scrum-container h3>span {
  color: #f76a0c;
}

.support-scrum-img {
  width: 54.1rem;
  margin: 3.6rem auto 0;
}

.customer-voice {
  padding: 8.2rem 0 12.6rem;
  background: linear-gradient(81.95deg, #ecf6ff 5.32%, #ddedfd 94.68%);
}

.customer-voice h2 {
  font-size: 6.3rem;
  line-height: 1.33;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
}

.customer-voice h2>span {
  font-size: 3.8rem;
  text-shadow: initial;
  text-decoration: dotted underline #5897f0;
  -webkit-text-decoration: dotted underline #5897f0;
  text-decoration-thickness: 1rem;
  text-underline-offset: 2rem;
  color: #5897f0;
  margin-bottom: 4.2rem;
  display: inline-block;
}

.customer-voice-slider-container {
  width: 118.7rem;
  margin: 4.8rem auto 0;
  position: relative;
}

.customer-voice-slider {
  width: 96.7rem;
  margin: 0 auto;
  position: initial;
}

.customer-voice-slider-item {
  padding: 2rem;
  width: 29.9rem;
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0px 0px 12px rgba(88, 151, 240, 0.5);
}

.customer-voice-star-container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.customer-voice-slider-container .slick-list {
  margin: 0 -1.75rem;
}

.customer-voice-slider-container .slick-slide {
  margin: 0 1.75rem 0;
}

.customer-voice-star {
  width: 2.4rem;
}

.customer-voice-text {
  margin-top: 2rem;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
}

.customer-voice-prefecture {
  font-weight: 400;
  font-size: 1.3rem;
  margin-top: 2rem;
}

.faq {
  padding: 7.9rem 0 15.2rem;
}

.faq h2 {
  font-size: 3.8rem;
  text-align: center;
  color: #5897f0;
}

.faq-accordion-container {
  width: 100.8rem;
  margin: 6rem auto 0;
}

.faq-accordion-item:not(:last-child) {
  border-bottom: 1px solid #999999;
}

.faq-accordion-item-title {
  cursor: pointer;
  padding: 2rem 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.5rem;
  position: relative;
  transition: all 0.3s ease;
}

.faq-accordion-item-title::after {
  content: "";
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotateX(180deg);
  background: url(../../img/faq-arrow-up.png) no-repeat center center;
}

.faq-accordion-item-title.active::after {
  transform: translateY(-50%) rotateX(0deg);
}

.faq-accordion-item-title span:first-of-type {
  font-size: 3.8rem;
  color: #5897f0;
}

.faq-accordion-item-title span:last-of-type {
  width: 82.1rem;
  font-size: 2.2rem;
}

.faq-accordion-item-content {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.7rem;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.78;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.faq-accordion-item-content.active {
  max-height: 100rem;
  margin-bottom: 2rem;
  transition: max-height 0.3s ease;
}

.faq-accordion-item-content span:first-of-type {
  font-weight: 700;
  font-size: 3.8rem;
  line-height: 1.6;
  color: #f95e80;
}

.faq-accordion-item-content span:last-of-type {
  width: 90rem;
}

.price {
  padding: 7rem 0 14.5rem;
  background: linear-gradient(81.95deg, #ecf6ff 5.32%, #ddedfd 94.68%);
}

.price h2 {
  font-size: 7rem;
  line-height: 1.33;
  text-align: center;
  color: #5897f0;
  text-shadow: rgb(255, 255, 255) 6px 0px 0px,
    rgb(255, 255, 255) 5.91686px 0.995377px 0px,
    rgb(255, 255, 255) 5.66974px 1.96317px 0px,
    rgb(255, 255, 255) 5.2655px 2.87655px 0px,
    rgb(255, 255, 255) 4.71532px 3.71022px 0px,
    rgb(255, 255, 255) 4.03447px 4.44106px 0px,
    rgb(255, 255, 255) 3.24181px 5.04883px 0px,
    rgb(255, 255, 255) 2.35931px 5.51667px 0px,
    rgb(255, 255, 255) 1.41143px 5.83163px 0px,
    rgb(255, 255, 255) 0.424423px 5.98497px 0px,
    rgb(255, 255, 255) -0.574341px 5.97245px 0px,
    rgb(255, 255, 255) -1.55719px 5.79441px 0px,
    rgb(255, 255, 255) -2.49688px 5.45578px 0px,
    rgb(255, 255, 255) -3.36738px 4.96596px 0px,
    rgb(255, 255, 255) -4.14455px 4.33852px 0px,
    rgb(255, 255, 255) -4.80686px 3.59083px 0px,
    rgb(255, 255, 255) -5.33596px 2.74364px 0px,
    rgb(255, 255, 255) -5.71718px 1.8204px 0px,
    rgb(255, 255, 255) -5.93995px 0.84672px 0px,
    rgb(255, 255, 255) -5.99811px -0.150428px 0px,
    rgb(255, 255, 255) -5.89004px -1.14341px 0px,
    rgb(255, 255, 255) -5.61874px -2.1047px 0px,
    rgb(255, 255, 255) -5.19172px -3.00766px 0px,
    rgb(255, 255, 255) -4.62082px -3.82727px 0px,
    rgb(255, 255, 255) -3.92186px -4.54081px 0px,
    rgb(255, 255, 255) -3.11421px -5.12852px 0px,
    rgb(255, 255, 255) -2.22026px -5.57409px 0px,
    rgb(255, 255, 255) -1.26477px -5.86518px 0px,
    rgb(255, 255, 255) -0.274238px -5.99373px 0px,
    rgb(255, 255, 255) 0.723898px -5.95617px 0px,
    rgb(255, 255, 255) 1.70197px -5.75355px 0px,
    rgb(255, 255, 255) 2.63288px -5.39147px 0px,
    rgb(255, 255, 255) 3.49082px -4.87998px 0px,
    rgb(255, 255, 255) 4.25202px -4.23324px 0px,
    rgb(255, 255, 255) 4.89538px -3.46919px 0px,
    rgb(255, 255, 255) 5.40307px -2.60899px 0px,
    rgb(255, 255, 255) 5.76102px -1.67649px 0px,
    rgb(255, 255, 255) 5.95932px -0.697531px 0px, 0px 0px 20px rgb(88 151 240);
}

.price h2>span {
  font-size: 5.2rem;
  text-shadow: initial;
  text-decoration: dotted underline #5897f0;
  -webkit-text-decoration: dotted underline #5897f0;
  text-decoration-thickness: 1rem;
  text-underline-offset: 2rem;
  color: #5897f0;
  margin-bottom: 4.3rem;
  display: inline-block;
}

.price-container {
  width: 128rem;
  margin: 7.5rem auto 0;
}

.price-content-heading {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  background: #5897f0;
  border: 1px solid #d9d9d9;
  border-radius: 2rem 2rem 0px 0px;
  color: #fff;
  font-size: 2.8rem;
  line-height: 1.6;
  text-align: center;
}

.price-content-heading>p:first-of-type {
  width: 50.9rem;
  padding: 2.9rem 0 2.6rem;
}

.price-content-heading>p:nth-of-type(2) {
  width: 34.4rem;
  padding: 2rem 0 1rem;
  line-height: 1;
}

.price-content-heading>p:nth-of-type(2) span {
  font-size: 2.2rem;
  font-weight: 500;
}

.price-content-heading>p:nth-of-type(3) {
  width: 42.8rem;
  padding: 2.9rem 0 2.6rem;
}

.price-content {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  background-color: #fff;
  font-size: 2.2rem;
  line-height: 1.333;
  text-align: center;
  border-bottom: 1px solid #d9d9d9;
}

.price-content:last-of-type {
  border-radius: 0 0 2rem 2rem;
  border-bottom: none;
}

.price-content>p:first-of-type {
  width: 50.9rem;
  padding: 4rem 5.5rem 3.1rem 5.3rem;
  border-right: 1px solid #d9d9d9;
  text-align: left;
}

.price-content>p:first-of-type span {
  font-size: 2rem;
  font-weight: 400;
}

.price-content>p:nth-of-type(2) {
  width: 34.4rem;
  padding: 3.2rem 0 3.1rem;
  border-right: 1px solid #d9d9d9;
}

.price-content>p:nth-of-type(2) span {
  font-size: 2.8rem;
}

.price-content>p:nth-of-type(3) {
  width: 42.8rem;
  padding: 3.2rem 0 3.1rem;
}

.price-content>p:nth-of-type(3) span {
  font-size: 2.8rem;
}

.price-content>p:nth-of-type(3) span.price-title {
  font-size: 2.2rem;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  html {
    font-size: clamp(0.625rem, 0rem + 2.6667vw, 1.28rem);
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .br-pc {
    display: none;
  }

  .br-sp {
    display: inline-block;
  }

  .title {
    font-size: 1.8rem;
  }

  .diagonal-double-line::before,
  .diagonal-double-line::after {
    width: 1.87rem;
    height: 1.96rem;
  }

  .diagonal-double-line::before {
    left: -3rem;
  }

  .diagonal-double-line::after {
    right: -3rem;
  }

  .diagonal-double-line-white::before,
  .diagonal-double-line-white::after {
    width: 1.48rem;
    height: 2.21rem;
  }

  .diagonal-double-line-white::before {
    left: -2rem;
  }

  .diagonal-double-line-white::after {
    right: -2rem;
  }

  .underline {
    position: relative;
    width: fit-content;
    margin: 0 auto;
  }

  .underline::before {
    content: "";
    width: 100%;
    height: auto;
    position: absolute;
    bottom: -1rem;
    aspect-ratio: 656 / 33.91;
    z-index: -1;
  }

  .underline-yellow::before {
    background: url(../../img/double-underline-yellow.png) no-repeat center center;
    background-size: cover;
  }

  .underline-white::before {
    background: url(../../img/double-underline-white.png) no-repeat center center;
    background-size: cover;
    z-index: 0;
    left: 0;
    bottom: -0.8rem;
  }

  .cta {
    padding: 1.9rem 0 1.5rem;
  }

  .cta-title {
    font-size: 1.67rem;
  }

  .cta-title>span {
    font-size: 1.41rem;
  }

  .cta-text {
    font-size: 1.83rem;
    margin-top: 1rem;
  }

  .cta-text>span {
    font-size: 3.8rem;
  }

  .cta-text>span>span {
    font-size: 2.49rem;
  }

  .cta-text>span:last-of-type {
    display: block;
    margin-right: 3.26rem;
    text-align: right;
  }

  .cta-button {
    width: 33.5rem;
    margin: 0.78rem auto 0;
    border-radius: 1rem;
    border: 1px solid #5897f0;
    border-color: #ff6e00;
  }

  .cta-button-arrow {
    width: 2.84rem;
    border-radius: 0.67rem 0 0 0.67rem;
  }

  .cta-button-arrow img {
    width: 1.5rem;
  }

  .cta-button-text {
    width: calc(100% - (2.84rem + 14.1rem));
    padding: 1.3rem;
    font-size: 1.1rem;
    line-height: 1.33;
  }

  .cta-button-text>span {
    font-size: 1.34rem;
    line-height: 1.4;
    text-underline-offset: 0.3rem;
  }

  .cta-button-img {
    width: 14.1rem;
  }

  .cta2 .cta-title::before {
    background: url(../../img/diagonal-double-line-white-left2.png) no-repeat center center;
    background-size: contain;
  }

  .cta2 .cta-title::after {
    background: url(../../img/diagonal-double-line-white-right2.png) no-repeat center center;
    background-size: contain;
  }

  .cta2 .cta-text>span {
    letter-spacing: 0.08em;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 1rem #5897f0;
    display: inline;
  }

  .cta2 .cta-text>span:last-of-type {
    display: block;
    text-shadow: none;
    text-align: center;
    margin-top: 0.6rem;
  }

  .cta2 .cta-text>span::before {
    z-index: 0;
  }

  /* header */
  header {
    padding: 1.1rem 0;
  }

  header>h1 {
    margin-left: 1rem;
    width: 13.9rem;
  }

  /* main */
  .campaign {
    margin-bottom: 3.4rem;
  }

  .campaign-slider-container {
    width: 33.4rem;
    margin: 2.1rem auto 0;
  }

  .campaign-slider {
    width: 27rem;
  }

  .prev-arrow,
  .next-arrow {
    width: 2rem;
    height: 2rem;
    top: 40%;
  }

  .dots-wrap {
    margin-top: 1.35rem;
    gap: 1rem;
  }

  .dots-wrap li {
    width: 0.52rem;
    height: 0.52rem;
  }

  .campaign>h3:first-of-type {
    font-size: 1.8rem;
    margin-top: 3.4rem;
  }

  .campaign>h3:nth-of-type(2) {
    font-size: 3.6rem;
    margin-top: 0.9rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 8px #5897f0;
  }

  .campaign>h3:nth-of-type(2)>span {
    font-size: 3.15rem;
  }

  .campaign>h3:last-of-type {
    font-size: 1.8rem;
    margin-top: 2.15rem;
  }

  .campaign>img {
    width: 33.5rem;
    margin: 3.36rem auto 0;
  }

  .point {
    padding: 4rem 0;
  }

  .point>h2 {
    font-size: 3.65rem;
    color: #5897f0;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px;
  }

  .point>h2>span {
    font-size: 2.43rem;
  }

  .point-detail-container {
    width: 33.5rem;
    margin: 4.6rem auto 0;
  }

  .point-detail:not(:first-of-type) {
    margin-top: 4.3rem;
  }

  .point-number {
    top: -2rem;
    font-size: 2.3rem;
    padding: 0.5rem 0.807rem 0rem;
  }

  .point-number>span:first-of-type {
    font-size: 0.7rem;
  }

  .point-detail-title {
    background-color: #5897f0;
    padding: 2.25rem 0 0.55rem;
    font-size: 1.3rem;
    border-radius: 1.5rem 1.5rem 0 0;
  }

  .point-detail-content {
    border: 1.6px solid #5897f0;
    border-radius: 0px 0px 1.5rem 1.5rem;
    padding: 1rem 0 2.2rem;
  }

  .point-detail-content>p {
    font-size: 1.4rem;
    line-height: 1.4;
  }

  .point-detail-content>p>span {
    font-size: 1.8rem;
  }

  .point-detail-content>.annotaion {
    font-size: 1.2rem;
    margin-top: 0.36rem;
  }

  .point-detail-content>img {
    width: 25rem;
    margin: 1.04rem auto 0;
  }

  .point>h3 {
    font-size: 2.34rem;
    line-height: 1.6;
    margin-top: 6.42rem;
  }

  .point>h3>span {
    font-size: 2.16rem;
    text-decoration-thickness: 0.4rem;
    text-underline-offset: 0.6rem;
  }

  .point-difference-container {
    width: 33.5rem;
    gap: 1.6rem;
    margin: 3rem auto 0;
  }

  .point-difference-item {
    width: 15.9rem;
    box-shadow: 0px 0px 1rem rgba(88, 151, 240, 0.5);
    border-radius: 0.8rem;
    padding: 1.5rem 0 1.3rem;
  }

  .point-difference-item1 {
    padding: 2.3rem 0 1.3rem;
  }

  .point-difference-item4 {
    padding: 1.2rem 0 1.3rem;
  }

  .point-difference-item5 {
    padding: 2.3rem 0 1.3rem;
  }

  .point-difference-item6 {
    padding: 2rem 0 1rem;
  }

  .point-difference-item1>img {
    width: 9.1rem;
    margin-bottom: 2.1rem;
  }

  .point-difference-item2>img {
    width: 8.8rem;
    margin-bottom: 1.3rem;
  }

  .point-difference-item3>img {
    width: 11.3rem;
    margin-bottom: 1.6rem;
  }

  .point-difference-item4>img {
    width: 11.8rem;
    margin-bottom: 1.1rem;
  }

  .point-difference-item5>img {
    width: 12.3rem;
    margin-bottom: 2.2rem;
  }

  .point-difference-item6>img {
    width: 9.1rem;
    margin-bottom: 2.2rem;
  }

  .point-difference-item>h4 {
    font-size: clamp(10px, 3.6vw, 13px);
  }

  .satisfaction {
    padding: 3.79rem 0 4rem;
  }

  .satisfaction>h2 {
    font-size: 2.93rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 16px #ffffff;
  }

  .satisfaction>h2>span:first-of-type {
    font-size: 2.1rem;
  }

  .satisfaction-selection-container {
    width: 25.9rem;
    margin: 3.2rem auto 0;
    padding: 1rem 4.5rem 1rem 0;
  }

  .satisfaction-selection-container-decoration {
    left: -4.9rem;
    top: 0;
    width: 4.9rem;
  }

  .satisfaction-selection-container-decoration.right {
    right: -4.9rem;
  }

  .satisfaction-selection-title {
    font-size: 1.5rem;
    text-align: left;
    margin-left: 0;
  }

  .satisfaction-selection-text {
    font-size: 1rem;
    margin-top: 0.6rem;
    margin-left: 0;
    text-align: left;
  }

  .satisfaction-img {
    right: -6rem;
    width: 11.9rem;
  }

  .satisfaction-technique-container {
    width: 33.3rem;
    border-radius: 0.5rem;
    margin: 4.2rem auto 0;
    padding: 3.1rem 0 5.8rem;
  }

  .satisfaction-technique-title-img {
    top: -2.2rem;
    width: 16.3rem;
  }

  .satisfaction-technique-title {
    font-size: 1.9rem;
  }

  .satisfaction-technique-title>span {
    font-size: 2.3rem;
  }

  .satisfaction-technique-title>span::before {
    bottom: -0.4rem;
  }

  .satisfaction-technique-before-after {
    width: 31rem;
    max-width: 0 auto;
  }

  .satisfaction-technique-text {
    font-size: 1.56rem;
    margin-top: 1.25rem;
  }

  .satisfaction-technique-text>span {
    font-size: 2.16rem;
  }

  .satisfaction-technique-text>span::before {
    bottom: -1rem;
  }

  .satisfaction-technique-before-after2 {
    width: 31.3rem;
    margin: 1.5rem auto 0;
  }

  .quality {
    padding: 0.7rem 0 3.7rem;
  }

  .quality>h2 {
    font-size: 4.5rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.5rem rgb(88 151 240);
  }

  .quality>h2>span {
    font-size: 2.33rem;
    text-decoration-thickness: 0.5rem;
    text-underline-offset: 0.7rem;
  }

  .quality-detail-container {
    width: 33.5rem;
    margin: 1rem auto 0;
  }

  .quality-detail {
    border-radius: 1rem;
  }

  .quality-detail:not(:first-of-type) {
    margin-top: 3rem;
  }

  .quality-detail-title {
    background: url(../../img/sp/quality-detail-title-bg.png) no-repeat center center;
    background-size: cover;
    aspect-ratio: 335 / 93;
    padding: 1.3rem 0 1.3rem 7.8rem;
    font-size: 1.7rem;
  }

  .quality-detail-content {
    padding: 1.6rem 1.8rem 2rem;
    border: 2px solid #5897f0;
    border-radius: 0 0 1rem 1rem;
  }

  .quality-detail-content>p {
    font-size: 1.4rem;
    line-height: 1.4;
    width: 29.9rem;
  }

  .quality-detail-img {
    width: 25rem;
    margin: 2rem auto 0;
  }

  .review {
    padding: 2.6rem 0 6.3rem;
  }

  .review h2 {
    font-size: 2.8rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.4rem rgb(88 151 240);
  }

  .review h2>span {
    font-size: 2.3rem;
    text-decoration-thickness: 0.6rem;
    text-underline-offset: 1rem;
    margin-bottom: 2rem;
  }

  .review-container {
    width: 33.5rem;
    margin: 3.5rem auto 0;
  }

  .review-item {
    flex-direction: column;
  }

  .review-item:not(:first-child) {
    margin-top: 2rem;
  }

  .review-item-icon {
    width: 10rem;
  }

  .review-item-text {
    width: 33.4rem;
    padding: 1.55rem 2.6rem;
    border-radius: 2rem;
    margin-top: 1.5rem;
  }

  .review-item-text>img {
    width: 11.2rem;
  }

  .review-item-text>p {
    font-size: 1.1rem;
    margin-top: 1.25rem;
  }


  .handle {
    padding: 2.8rem 1.8rem 3.8rem;
  }

  .handle h2 {
    font-size: 2.7rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.6rem rgb(88 151 240);
  }

  .handle h2>span {
    font-size: 2.3rem;
    text-decoration-thickness: 0.6rem;
    text-underline-offset: 1rem;
    margin-bottom: 2.1rem;
  }

  .handle img {
    width: 33.5rem;
    margin: 4rem auto 0;
  }

  .plan-introduction {
    padding: 2.8rem 0 1.7rem;
  }

  .plan-introduction h2 {
    font-size: 2.8rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.6rem rgb(88 151 240);
  }

  .plan-introduction h2>span {
    font-size: 2.3rem;
    text-decoration-thickness: 0.6rem;
    text-underline-offset: 1rem;
    margin-bottom: 1.85rem;
  }

  .plan-introduction-table {
    width: 35.3rem;
    margin: 2.95rem auto 0;
    font-size: 0.84rem;
    line-height: 1.33;
  }

  .plan-introduction-table>tbody>tr:first-of-type>td {
    font-size: 1.2rem;
    border-radius: 0.76rem 0.76rem 0 0;
    padding: 0.6rem 0 !important;
  }

  .plan-introduction-table>tbody>tr>td {
    width: 8.3rem;
  }

  .plan-introduction-table>tbody>tr>td:first-of-type {
    width: 10.2rem;
    padding: 0.7rem 0;
  }

  .plan-introduction-table>tbody>tr>td.keisen {
    padding: 0.7rem 0.8rem !important;
  }

  .plan-introduction-table>tbody>tr>td.keisen span.col-header {
    font-size: 0.84rem;
  }

  .plan-introduction-table>tbody>tr>td.keisen span.row-header {
    font-size: 0.84rem;
    margin-top: 1.1rem;
  }

  .plan-introduction-table>tbody>tr:not(:first-of-type)>td:not(:first-of-type) {
    padding: 1rem 0;
    vertical-align: middle;
  }

  .plan-introduction-table>tbody>tr:not(:first-of-type)>td:first-of-type {
    padding: 0.4rem 0 0.4rem 0.8rem;
    font-size: 1rem;
  }

  .plan-introduction-table .mark img {
    width: 2.3rem;
    display: block;
    margin: 0 auto;
  }

  .plan-introduction-table .xmark img {
    width: 2rem;
  }

  .plan-introduction-table .mark span {
    font-size: 0.84rem;
    margin-top: 0;
  }

  .plan-introduction-table caption {
    margin-top: 0.7rem;
    font-size: 0.9rem;
  }

  .plan {
    padding: 2.5rem 0 3rem;
  }

  .plan-container {
    width: 90%;
  }

  .plan-tab {
    border-radius: 0.55rem 0.55rem 0 0;
    padding: 1rem 0;
    font-size: 1.1rem;
  }

  .plan-content {
    padding: 1.5rem 0 3rem;
    border-radius: 0 0 0.55rem 0.55rem;
  }

  .plan-content-title {
    gap: 1.7rem;
  }

  .plan-content-title>h2 {
    font-size: 1.14rem;
  }

  .plan-content-title>h2>span {
    font-size: 1.9rem;
  }

  .time {
    font-size: 0.76rem;
    padding: 0.5rem 1.2rem;
    margin-right: 2.6rem;
  }

  .time>span {
    font-size: 1.1rem;
  }

  .plan-content-subtitle {
    font-size: 1rem;
    margin-top: 1.1rem;
  }

  .plan-content-subtitle::before,
  .plan-content-subtitle::after {
    width: 2.4rem;
    height: 0.24rem;
    background: url(../../img/sp/plan-content-subtitle-decoration-red.png);
  }

  .standard-content .plan-content-subtitle::before,
  .standard-content .plan-content-subtitle::after {
    width: 2.4rem;
    background: url(../../img/sp/plan-content-subtitle-decoration-green.png);

  }

  .premium-content .plan-content-subtitle::before,
  .premium-content .plan-content-subtitle::after {
    width: 2.4rem;
    background: url(../../img/sp/plan-content-subtitle-decoration-blue.png);
  }

  .plan-content-subtitle::before {
    left: 2rem;
  }

  .plan-content-subtitle::after {
    right: 2rem;
  }

  .plan-available {
    width: 25rem;
    margin: 1.65rem auto 0;
  }

  .accordion-container {
    width: 30.4rem;
    margin: 2.3rem auto 0;
  }

  .accordion-title {
    padding: 0.3rem 0;
    font-size: 1rem;
  }

  .accordion-title::after {
    width: 1rem;
    right: 1.45rem;
  }

  .accordion-price-img {
    margin-top: 1rem;
  }

  .accordion-content-subtitle {
    /*font-size: 1rem;*/
    font-size: 14px;
    margin-top: 2.5rem;
  }

  .accordion-content-subtitle::before,
  .accordion-content-subtitle::after {
    content: "";
    background: url(../../img/sp/plan-content-subtitle-decoration-red2.png);
    width: 4.6rem;
    height: 0.24rem;
  }

  .accordion-content-subtitle::before {
    left: 0;
  }

  .accordion-content-subtitle::after {
    right: 0;
  }

  .standard-content .accordion-content-subtitle::before,
  .standard-content .accordion-content-subtitle::after {
    width: 4.23rem;
    background: url(../../img/sp/plan-content-subtitle-decoration-green2.png);
  }

  .premium-content .accordion-content-subtitle::before,
  .premium-content .accordion-content-subtitle::after {
    width: 4rem;
    background: url(../../img/sp/plan-content-subtitle-decoration-blue2.png);
  }

  .copy-text-container {
    gap: 1.6rem;
    border-radius: 0.8rem;
    margin: 1.5rem auto 0;
    padding: 1rem 3rem;
  }

  .copy-text-container>span:first-of-type {
    font-size: 1.14rem;
  }

  .copy-text-container>span:nth-of-type(2) {
    font-size: 1.7rem;
  }

  .copy-text-container>button {
    padding: 0.5rem 1.23rem;
    border-radius: 0.5rem;
    font-size: 1.14rem;
  }

  .accordion-container .annotation {
    font-size: 0.8rem;
    margin-top: 1.5rem;
  }

  .accordion-link {
    margin-top: 0.5rem;
    font-size: 0.8rem;
  }

  .accordion-link img {
    width: 1rem;
    height: 1rem;
  }

  .apply-btn-container {
    width: 31rem;
    margin: 2.1rem auto 0;
  }

  .apply-btn {
    font-size: 1.2rem;
    padding: 0.6rem 0;
    width: 15rem;
    border: 1px solid #fff;
    box-shadow: 0px 1px 1px rgba(124, 135, 244, 0.25);
    border-radius: 3rem;
  }

  .apply-btn span {
    font-size: 0.9rem;
  }

  .apply-btn::after {
    right: 1.4rem;
  }

  .location-btn {
    width: 31rem;
    margin: 1.6rem auto 0;
    font-size: 1rem;
    padding: 0.5rem 0;
  }

  .location-btn::after {
    right: 0.9rem;
  }

  .option {
    padding: 3.8rem 0 3.1rem;
  }

  .option h2 {
    font-size: 2.6rem;
  }

  .option-container {
    width: 31.4rem;
    margin: 2.6rem auto 0;
    flex-wrap: wrap;
    row-gap: 1rem;
  }

  .option-item {
    border-radius: 1rem;
    width: 15rem;
    padding-bottom: 0.7rem;
  }

  .option-title {
    font-size: 1rem;
    margin-top: 1.6rem;
  }

  .option-explain {
    font-size: 1rem;
    margin: 1rem 1rem 2.1rem;
  }

  .option-item2 .option-explain,
  .option-item3 .option-explain {
    margin-bottom: 0.75rem;
  }

  .option-time-price {
    font-size: 1rem;
    margin-bottom: 1.6rem;
    margin-left: 1rem;
  }

  .option-link-btn {
    gap: 0.4rem;
    font-size: 0.8rem;
    margin-right: 0.7rem;
  }

  .option-link-btn img {
    width: 1.2rem;
    height: 1.1rem;
  }

  .option>h3 {
    padding: 1.2rem 0;
    width: 33.5rem;
    margin: 3.2rem auto 0;
    font-size: 2rem;
    background: url(../../img/sp/option-bg.png) no-repeat center center;
    background-size: contain;
  }

  .news {
    padding: 4rem 0;
  }

  .news h2 {
    font-size: 2.6rem;
  }

  .news h2 span:first-of-type {
    font-size: 2.6rem;
  }

  .news h2>span:last-of-type {
    position: relative;
  }

  .news h2>span:last-of-type::before {
    content: "";
    width: 100%;
    height: auto;
    position: absolute;
    bottom: -1rem;
    aspect-ratio: 656 / 33.91;
    z-index: 0;
    background: url(../../img/double-underline-blue.png) no-repeat center center;
    background-size: cover;
  }

  .news h2 span:last-of-type span {
    font-size: 4rem;
  }

  .news-container {
    width: 33.4rem;
    padding-bottom: 1.3rem;
    margin: 5.5rem auto 0;
    border-radius: 0.7rem;
  }

  .news-container>h3 {
    font-size: 1.84rem;
    margin: 1.2rem auto 0;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 10px #f95e80;
  }

  .news-container>h3::before,
  .news-container>h3::after {
    width: 2.6rem;
    height: 3.3rem;
  }

  .news-container>h3::before {
    left: -3rem;
  }

  .news-container>h3::after {
    right: -3rem;
  }

  .news-img {
    width: 29.3rem;
    margin: 0.9rem auto 0;
  }

  .select_wrapper,
  .news-text {
    padding: 0.5rem 0.8rem;
    width: 30.3rem;
    border-radius: 0.5rem;
    margin: 1.8rem auto 0;
    font-size: 1.2rem;
  }

  .select_wrapper::after,
  .news-text::after {
    width: 1rem;
    height: 1.5rem;
    right: 1.3rem;
  }

  .news-img2 {
    width: 32.3rem;
    margin: 1.5rem auto 0;
  }

  .cleaning {
    padding: 1em 0 1.7rem;
  }

  .cleaning h2 {
    font-size: 2.6rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.6rem rgb(88 151 240);
  }

  .cleaning h2>span {
    font-size: 2.2rem;
    text-decoration-thickness: 0.5rem;
    text-underline-offset: 1rem;
    margin-bottom: 1.7rem;
  }

  .cleaning-slider-container {
    width: 33.5rem;
    margin: 2.4rem auto 0;
  }

  .cleaning-slider-item {
    border-radius: 0.8rem;
    padding-bottom: 0.5rem;
    box-shadow: 0px 0px 0.5rem rgba(88, 151, 240, 0.5);
  }

  .cleaning-slider-item p {
    font-size: 1rem;
    margin-top: 1rem;
  }

  .cleaning-slider-item .right-arrow {
    width: 1.85rem;
    height: 1.85rem;
    margin: 0.5rem 5px 0 auto;
  }

  .cleaning-slider-container .slick-list {
    margin: 0 -0.8rem;
  }

  .cleaning-slider-container .slick-slide {
    margin: 0 0.8rem 1rem;
  }

  .cleaning-link-btn {
    font-size: 1.6rem;
    padding: 1.45rem 0;
    width: 30rem;
    margin: 1.7rem auto 0;
    border-radius: 1rem;
  }

  .flow {
    padding: 3.3rem 0 3.7rem;
  }

  .flow h2 {
    font-size: 3rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.6rem rgb(88 151 240);
  }

  .flow h3 {
    font-size: 2.1rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.6rem rgb(88 151 240);
    margin-top: 0.9rem;
  }

  .flow h3:before,
  .flow h3:after {
    display: none;
  }

  .step-container {
    flex-direction: column;
    row-gap: 3.5rem;
    width: 33.5rem;
    margin: 2.4rem auto 0;
  }

  .step-item {
    width: 100%;
  }

  .step-item-title {
    padding: 1.5rem 0 1.5rem 1.5rem;
    border-radius: 1rem 1rem 0 0;
    font-size: 1.9rem;
  }

  .step-item-title>span {
    border-radius: 2.8rem;
    padding: 0 1.17rem;
    font-size: 1.3rem;
    margin-right: 1.1rem;
  }

  .step-item-title>span>span {
    font-size: 2.26rem;
  }

  .step-item-text {
    padding: 1.8rem 1.7rem;
    width: 32.1rem;
    box-shadow: 0px 0px 1.5rem rgba(88, 151, 240, 0.5);
    border-radius: 1rem;
    font-size: 4vw;
    margin: -2rem auto 0;
    line-height: 1.5;
  }

  .flow h2:nth-of-type(2) {
    margin-top: 6.1rem;
  }

  .flow h2:nth-of-type(2)>span {
    font-size: 2.6rem;
  }

  .flow-container {
    width: 31.5rem;
    margin: 2rem auto 0;
  }

  .flow-item {
    width: 31.5rem;
    flex-direction: column;
    background-color: #fff;
    margin: 0 auto;
    border-radius: 2rem;
    padding-top: 1.9rem;
  }

  .flow-item h4:nth-of-type(1) {
    font-size: 2rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    margin: 0 auto 1rem;
    width: 80%;
  }

  .flow-item h4:nth-of-type(1) span {
    background-color: #f95e80;
    border-radius: 50%;
    width: 2.6rem;
    height: auto;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 2rem;
    font-family: "Roboto";
  }

  .flow-item img {
    width: 26rem;
    margin: 0 auto;
  }

  .flow-item-text {
    padding: 2rem 0.55rem 3rem;
    border-radius: 0 2rem 2rem 0;
    width: 24.9rem;
    margin: 0 auto;
  }

  .flow-item-text>h4:nth-of-type(1) {
    display: none;
  }

  .flow-item-text p {
    margin-left: 0;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.2;
  }

  .flow-container .dots-wrap {
    margin-top: 2rem;
    gap: 1.5rem;
  }

  .flow-container .dots-wrap li {
    width: 0.8rem;
    height: 0.8rem;
  }

  .flow-container .prev-arrow,
  .flow-container .next-arrow {
    width: 1.5rem;
    height: 1.5rem;
    top: 50%;
  }

  .flow-container .prev-arrow {
    left: -2rem;
  }

  .flow-container .next-arrow {
    right: -2rem;
  }

  .flow-container .slick-track {
    display: flex !important;
  }

  .flow-container .slick-slide {
    height: auto !important;
  }

  .support {
    padding: 2.5rem 0 4rem;
  }

  .support h2 {
    font-size: 2.94rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.6rem rgb(88 151 240);
  }

  .support h2>span:first-of-type {
    font-size: 2.6rem;
    text-decoration-thickness: 0.5rem;
    text-underline-offset: 0.7rem;
    margin-bottom: 2.13rem;
  }

  .support h2>span:last-of-type {
    font-size: 3.8rem;
  }

  .support-detail-container {
    width: 90%;
    margin: 4rem auto 0;
  }

  .support-detail-container.sp {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 1.5rem;
    margin-top: 2rem;
  }

  .support-detail-item {
    width: 48%;
    background: #ffffff;
    box-shadow: 0px 0px 0.8rem rgba(88, 151, 240, 0.5);
    border-radius: 1.5rem;
    padding: 2rem 0;
  }

  .support-detail-item>h3 {
    font-size: 4vw;
  }

  .support-detail-item>img {
    width: auto;
    height: 6rem;
    margin: 1.5rem auto 0;
  }

  .support-detail-item2>img,
  .support-detail-item4>img,
  .support-detail-item6>img {
    width: auto;
    margin-top: 1.5rem;
  }

  .support-detail-item>p {
    font-size: 3.8vw;
    line-height: 1.2;
  }

  .support-detail-item>p>.big {
    font-size: 1.9rem;
  }

  .support-detail-item2>p>.big {
    font-size: 1.3rem;
  }

  .support-detail-container .dots-wrap {
    margin-top: 2rem;
    gap: 1.5rem;
  }

  .support-detail-container .dots-wrap li {
    width: 0.8rem;
    height: 0.8rem;
  }

  .support-detail-container .prev-arrow,
  .support-detail-container .next-arrow {
    width: 1.5rem;
    height: 1.5rem;
    top: 50%;
  }

  .support-detail-container .prev-arrow {
    left: -2rem;
  }

  .support-detail-container .next-arrow {
    right: -2rem;
  }

  .support-detail-container .slick-track {
    display: flex !important;
  }

  .support-detail-container .slick-slide {
    height: auto !important;
  }

  .support-scrum-container {
    width: 90%;
    box-shadow: 0px 0px 0.6rem rgba(88, 151, 240, 0.5);
    border-radius: 1rem;
    margin: 3rem auto 0;
    padding: 1.3rem 0;
  }

  .support-scrum-container h3 {
    font-size: 1.7rem;
  }

  .support-scrum-img {
    width: 27rem;
    margin: 1.7rem auto 0;
  }

  .customer-voice {
    padding: 1.9rem 0 3rem;
  }

  .customer-voice h2 {
    font-size: 3.15rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.6rem rgb(88 151 240);
  }

  .customer-voice h2>span {
    font-size: 1.9rem;
    text-decoration-thickness: 0.5rem;
    text-underline-offset: 1rem;
    margin-bottom: 2.2rem;
  }

  .customer-voice-slider-container {
    width: 31.5rem;
    margin: 2.8rem auto 0;
    position: relative;
  }

  .customer-voice-slider {
    width: 31.5rem;
    margin: 0 auto;
  }

  .customer-voice-slider-item {
    padding: 1rem;
    width: 29.5rem;
    border-radius: 1rem;
    box-shadow: initial;
  }

  .customer-voice-slider-container .slick-list {
    margin: 0;
  }

  .customer-voice-slider-container .slick-slide {
    margin: 0;
  }

  .customer-voice-star {
    width: 1.8rem;
  }

  .customer-voice-text {
    margin-top: 1rem;
    font-size: 1.2rem;
  }

  .customer-voice-prefecture {
    font-size: 1.2rem;
    margin-top: 1rem;
  }

  .customer-voice-slider-container .dots-wrap {
    margin-top: 2rem;
    gap: 1.5rem;
  }

  .customer-voice-slider-container .dots-wrap li {
    width: 0.8rem;
    height: 0.8rem;
  }

  .customer-voice-slider-container .prev-arrow,
  .customer-voice-slider-container .next-arrow {
    width: 1.5rem;
    height: 1.5rem;
    top: 50%;
  }

  .customer-voice-slider-container .prev-arrow {
    left: -2rem;
  }

  .customer-voice-slider-container .next-arrow {
    right: -2rem;
  }

  .faq {
    padding: 1rem 0 2rem;
  }

  .faq h2 {
    font-size: 1.9rem;
  }

  .faq-accordion-container {
    width: 33.5rem;
    margin: 1rem auto 0;
  }

  .faq-accordion-item-title {
    padding: 1rem 0;
    gap: 0.75rem;
  }

  .faq-accordion-item-title::after {
    content: "";
    width: 1.3rem;
    height: 1.3rem;
  }

  .faq-accordion-item-title span:first-of-type {
    font-size: 3rem;
  }

  .faq-accordion-item-title span:last-of-type {
    width: 25.2rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .faq-accordion-item-content {
    gap: 0.85rem;
    font-size: 1.4rem;
    line-height: 1.6;
  }

  .faq-accordion-item-content.active {
    margin-bottom: 1rem;
  }

  .faq-accordion-item-content span:first-of-type {
    font-size: 3rem;
  }

  .faq-accordion-item-content span:last-of-type {
    width: 29.2rem;
  }

  .price {
    padding: 4rem 0;
  }

  .price h2 {
    font-size: 3.6rem;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px,
      rgb(255, 255, 255) 1.75517px 0.958851px 0px,
      rgb(255, 255, 255) 1.0806px 1.68294px 0px,
      rgb(255, 255, 255) 0.141474px 1.99499px 0px,
      rgb(255, 255, 255) -0.832294px 1.81859px 0px,
      rgb(255, 255, 255) -1.60229px 1.19694px 0px,
      rgb(255, 255, 255) -1.97998px 0.28224px 0px,
      rgb(255, 255, 255) -1.87291px -0.701566px 0px,
      rgb(255, 255, 255) -1.30729px -1.5136px 0px,
      rgb(255, 255, 255) -0.421592px -1.95506px 0px,
      rgb(255, 255, 255) 0.567324px -1.91785px 0px,
      rgb(255, 255, 255) 1.41734px -1.41108px 0px,
      rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 0.6rem rgb(88 151 240);
  }

  .price h2>span {
    font-size: 2.6rem;
    text-decoration-thickness: 0.7rem;
    text-underline-offset: 1rem;
    margin-bottom: 1.7rem;
  }

  .price-container {
    width: 34.7rem;
    margin: 1.4rem auto 0;
  }

  .price-content-heading {
    border-radius: 1rem 1rem 0px 0px;
    font-size: 1.4rem;
  }

  .price-content-heading>p:first-of-type {
    width: 13.4rem;
    padding: 1.4rem 0;
  }

  .price-content-heading>p:nth-of-type(2) {
    width: 11.5rem;
    padding: 0.8rem 0;
    line-height: 1.2;
  }

  .price-content-heading>p:nth-of-type(2) span {
    font-size: 1.1rem;
  }

  .price-content-heading>p:nth-of-type(3) {
    width: 9.7rem;
    padding: 1.4rem 0;
  }

  .price-content {
    font-size: 1.2rem;
  }

  .price-content:last-of-type {
    border-radius: 0 0 1rem 1rem;
  }

  .price-content>p:first-of-type {
    width: 13.4rem;
    padding: 0.8rem .6rem 0.8rem 1.1rem;
  }

  .price-content>p:first-of-type span {
    font-size: 1.1rem;
  }

  .price-content>p:nth-of-type(2) {
    width: 11.5rem;
    padding: 0.7rem 0 3.1rem;
    border-right: 1px solid #d9d9d9;
  }

  .price-content>p:nth-of-type(2) span {
    font-size: 1.4rem;
  }

  .price-content>p:nth-of-type(3) {
    width: 9.7rem;
    padding: 0.8rem 0;
  }

  .price-content>p:nth-of-type(3) span {
    font-size: 1.4rem;
  }

  .price-content>p:nth-of-type(3) span.price-title {
    font-size: 1.1rem;
  }
}

section {
  margin: 0 auto;
  /*max-width: 1000px;*/
}

.option-link-btn {
  margin-left: auto;
}

.select_wrapper {
  margin-top: 0;
  margin-bottom: 15px;
  padding: 0;
}

.select_wrapper #aircon_set {
  font-size: 16px;
  padding: 1.6rem 2.9rem;
  width: 100%;
}

.select_wrapper option {}

.select_wrapper::after {
  pointer-events: none;
}

.aircon_cp_items li:nth-of-type(n+2) {
  display: none;
}

.robo-count .box {
  display: inline-block;
  order: 2;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  margin: 0 auto 10px;
  padding: 10px 40px;
  max-width: 500px;
  background-color: #F76A0C;
  border-radius: 10px;
  position: relative;
}

.robo-count .box span {
  color: #fff;
  font-size: 16px;
}

.robo-count .box:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -9px;
  border: 9px solid transparent;
  border-top: 9px solid #fc5860;
}

.item-name {
  order: 1;
  color: #564444;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 10px;
}

.plan-available.pc {
  display: block !important;
}

.plan-available.sp {
  display: none !important;
}

.accordion-content.active {
  height: auto;
  max-height: unset;
}

@media screen and (max-width: 768px) {
  .select_wrapper #aircon_set {
    padding: 0.5rem 0.8rem;
  }

  .robo-count .box span {
    display: block;
  }

  .item-name {
    font-size: 18px;
  }

  .news-container {
    margin-top: 20px;
  }

  .plan-available.pc {
    display: none !important;
  }

  .plan-available.sp {
    display: block !important;
    width: 28rem;
  }

}

@media screen and (min-width: 769px) {
  .coupon-banner .coupon-code {
    font-size: 4rem;
  }

  .coupon-banner .coupon-code:before {
    font-size: 2.2rem;
  }

  .coupon-banner .coupon-copy-guide {
    font-size: 2.2rem;
  }
}

.item_detail_box {
  padding: 15px;
  background: #f6f6f6bd;
  margin-top: 10px;
  border-radius: 10px;
}

.item_detail_box .title {
    font-size: 1.15em;
    margin: 0 0 5px;
}

.item_detail_box ol {
  padding-left: 1.5em;
}

.item_detail_box ol li {
  list-style: num;
  font-size: 12px;
  font-weight: 400;
}

.item_detail_box dt {
  font-size: 12px;
  margin-top: 5px;
}

.item_detail_box dd {
  font-size: 12px;
  font-weight: 400;
  padding-left: 1em;
}

.accordion-price-img.light {
  width: 60%;
  margin: 1rem auto 0;
}

@media screen and (min-width: 769px) {
  .accordion-content.flex_acc {
    display: flex;
    justify-content: center;
    gap: 25px;
  }

  .item_detail_box {
    padding: 15px 25px;
    width: 47%;
  }

  .item_detail_box .title {
    /*font-size: 2rem;*/
  }

  .item_detail_box ol li,
  .item_detail_box dt,
  .item_detail_box dd {
    font-size: 1.8rem;
  }

  .accordion-price-img.light {
    width: 40%;
    margin: 4.9rem auto 0;
  }
}


/* -------modal style------ */
.modal {
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 9999;
  height: 100vh;
}

.modal .modal_header h2 {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.6;
  text-align: center;
}

.modal .modal_header h2 span {
  font-weight: 700;
  line-height: 1.6;
  color: var(--colorT);
}

.modal .modal_wrap {
  position: relative;
  max-width: 1000px;
  background-color: #F5F3EE;
  margin: 0 20px;
  border-radius: 10px;
}

.modal .modal_content {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #F5F3EE;
  border-radius: 5px;
  width: 100%;
  padding: 40px;
  overflow-y: scroll;
  overflow-x: hidden;
  max-height: 90vh;
}

.modal .accordion-group {
  width: 100%;
}

.modal .accordion {
  position: relative;
  justify-content: center;
  padding: 10px;
  max-width: unset;
}

.modal .accordion.no {
  background-color: #cccccc;
  pointer-events: none;
}

.modal .panel {
  background-color: #F5F3EE;
}

.modal .panel .row {
  padding: 10px;
}

.modal .accordion:after {
  right: 20px;
  position: absolute;
  content: "+";
  font-weight: 400;
  font-size: 20px;
  text-align: center;
  transition: all .3s;
}

.modal .accordion.no:after {
  content: "";
  display: none;
}

.modal_show {
  animation: modal_show 0.5s;
}

.modal .accordion.active:after {
  content: "-";
}

@keyframes modal_show {
  0% {
    transform: translate(0, -200%);
  }

  50% {
    transform: translate(0, 20%);
  }

  75% {
    transform: translate(0, -5%);
  }

  87% {
    transform: translate(0, 2.5%);
  }

  100% {
    transform: translate(0, 0);
  }
}

.modal_close {
  animation: modal_close 0.5s;
}

@keyframes modal_close {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(0, -200%);
  }
}

.modal .close_btn {
  position: absolute;
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: #3A3A3A;
  cursor: pointer;
  top: -20px;
  z-index: 99;
}

.modal .close_btn::before,
.modal .close_btn::after {
  display: none;
}

@media (max-width: 1020px) {
  .modal {
    width: 100%;
  }
}

@media (max-width: 991px) {
  .modal .modal_header h2 {
    font-size: 32px;
  }
}

@media (max-width: 576px) {
  .modal .modal_content {
    padding: 40px 20px;
  }

  .modal .modal_header h2 {
    font-size: 28px;
  }
}

@media (max-width: 450px) {
  .close_btn {
    right: -16px;
    top: -30px;
    width: 32px;
    height: 32px;
  }
}




.modal .modal_header h2 {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.6;
  text-align: center;
}

.modal .modal_header h2 span {
  font-weight: 700;
  line-height: 1.6;
  color: var(--colorT);
}

.modal .modal_wrap {
  position: relative;
  max-width: 1000px;
  background-color: #F5F3EE;
  margin: 0 20px;
  border-radius: 10px;
  margin: 45px auto 10px;
  z-index: 300;
}

.modal .modal_content {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #F5F3EE;
  border-radius: 5px;
  width: 100%;
  padding: 40px;
  overflow-y: scroll;
  overflow-x: hidden;
  max-height: 90vh;
}

.modal .accordion-group {
  width: 100%;
}

.modal .accordion {
  position: relative;
  justify-content: center;
  padding: 10px;
  max-width: unset;
}

/* 汎用タブ用の `.panel { display:none }`（=設備ページ等のタブ機構）に
   モーダルのエリア用アコーディオンが巻き込まれて開かないため、
   詳細度を上げて本来の開閉挙動（JSが max-height を制御）を復元する。 */
.modal .panel {
  background-color: #F5F3EE;
  display: block;
  max-height: 0;
  overflow: hidden;
  padding: 0;
  border-radius: 0;
  transition: max-height 0.2s ease-out;
}

.modal .panel .row {
  padding: 10px;
}

.modal .accordion:after {
  right: 20px;
  position: absolute;
  content: "+";
  font-weight: 400;
  font-size: 20px;
  text-align: center;
  transition: all .3s;
}

.modal_show {
  animation: modal_show 0.5s;
}

.modal .accordion.active:after {
  content: "-";
}

@keyframes modal_show {
  0% {
    transform: translate(0, -200%);
  }

  50% {
    transform: translate(0, 20%);
  }

  75% {
    transform: translate(0, -5%);
  }

  87% {
    transform: translate(0, 2.5%);
  }

  100% {
    transform: translate(0, 0);
  }
}

.modal_close {
  animation: modal_close 0.5s;
}

@keyframes modal_close {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(0, -200%);
  }
}

.close_btn {
  position: absolute;
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: #3A3A3A;
  cursor: pointer;
  top: -20px;
  z-index: 99;
}

.modal .close_btn::before,
.modal .close_btn::after {
  display: none;
}

@media (max-width: 1020px) {
  .modal {
    width: 100%;
  }
}

@media (max-width: 991px) {
  .modal .modal_header h2 {
    font-size: 32px;
  }
}

@media (max-width: 576px) {
  .modal .modal_content {
    padding: 40px 20px;
  }

  .modal .modal_header {
    margin-bottom: 20px !important;
  }

  .modal .modal_header h2 {
    font-size: 20px;
  }
}

@media (max-width: 450px) {
  .close_btn {
    right: -16px;
    top: -30px;
    width: 32px;
    height: 32px;
  }
}

.accordion {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 20px;
  width: 100%;
  text-align: left;
  font-size: 24px;
  transition: 0.4s;
  border: none;
  background-color: #FFF;
  border-radius: 5px;
}

.accordion p {
  font-family: var(--colorT);
  font-size: 20px;
  margin-right: 20px;
  color: #F76A0C;
  font-weight: 700;
  line-height: 1.6;
}

.accordion h6 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.active,
.accordion:hover {
  background-color: #ccc;
}

.accordion:after {
  content: url(../../img/closearrow.svg);
  float: right;
  margin-left: 5px;
}

.accordion.active:after {
  content: url(../../img/openarrow.svg);
}

/*.panel {
  margin: 10px 0;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  border-radius: 5px;
}*/

.panel .row {
  padding: 20px;
}

.panel .row h6 {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 700;
  margin-right: 20px;
  font-family: var(--colorT);
}

.panel .row p {
  font-size: 16px;
  line-height: 1.6;
}

@media (max-width: 991px) {
  .accordion h6 {
    font-size: 15px;
  }

  .faq .panel .row p {
    font-size: 15px;
  }
}

@media (max-width: 450px) {
  .faq>h2 {
    font-size: 28px;
    margin-top: 20px;
  }

  .accordion h6 {
    font-size: 13px;
  }

  .panel .row p {
    font-size: 13px;
  }

  .accordion {
    padding: 20px 10px;
  }
}

@media screen and (min-width:769px) {
  .modal .modal_header h2 span.pc {
    display: inline;
  }
}


/* 202506 */
@media screen and (min-width:769px) {
  .modal .box-title {
    font-size: 20px;
  }

  .modal .box-innerpad .padding-s,
  .modal .box-innerpad,
  .modal.option-modal .text-l,
  .modal.option-modal .total .value,
  h4.bg-title+p {
    font-size: 13px;
  }

  .modal .box-innerpad h4,
  h4.bg-title {
    font-size: 14px;
  }

  .slick-dots {
    margin-top: 15px;
  }
}

.faq-accordion-item-title.active,
.faq-accordion-item-content.active {
  background-color: unset;
}

@media screen and (max-width: 768px) {
  .cta-text>span:last-of-type {
    margin-right: unset;
    text-align: unset;
  }
}

.modal .box-outer {
  margin: 0 auto 80px !important;
}

#coupon .text-c img {
  margin-bottom: 15px;
  border: 1px solid #000;
}

@media screen and (max-width: 768px) {
  .plan-content-title>h2 {
    font-size: 18px;
  }

  .plan-content-title>h2>span {
    font-size: 26px;
  }

  .plan-content-subtitle {
    font-size: 16px;
  }

  .time {
    font-size: 11px;
  }

  .time>span {
    font-size: 14px;
  }

  .accordion-title {
    font-size: 16px;
  }

  .apply-btn {
    font-size: 16px;
    padding: 0 0 5px;
    min-height: 50px;
  }

  .apply-btn span {
    font-size: 11px;
  }

  .location-btn {
    font-size: 11px;
  }

  .quality-detail-title {
    display: flex;
    align-items: center;
    padding: 1.3rem 1rem 1.3rem 7.8rem;
  }
}

.slick-dots {
  position: static;
}

.slick-dots li button:before {
  font-size: 10px;
}

.slick-next:before,
.slick-prev:before {
  color: #5897f0;
}

.flow-item h4:nth-of-type(1) span {
  line-height: 0;
}

@media screen and (max-width: 768px) {
  .cleaning-slider-container {
    width: 85%;
    margin: 2.4rem auto auto;
  }

  .support-detail-item {
    padding: 1rem 0 1.5rem;
  }

  .support-detail-item>img {
    margin: 1.5rem auto 0;
  }

  .support-detail-item>p {
    margin-top: 1.5rem;
  }

  .flow-item img {
    width: 80%;
    margin: 0 auto;
    height: 120px;
    object-fit: cover;
  }

  .flow-item-text {
    padding: 15px 0 25px;
  }
}

/* プルダウン */
.pull_select_outer {
  margin: 5px auto 15px;
  padding: 5px 23px 5px 10px;
  border: 1px solid #000;
  border-radius: 5px;
  position: relative;
}

.pull_select_outer:after {
  content: "▼";
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: absolute;
  top: 0;
  right: 5px;
  pointer-events: none;
}

.pull_select_outer select {
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  background-color: unset;
  border: none;
}

.pull_select_outer select {
  font-size: 17px;
  padding: none;
  width: 100%;
}

.text-c {
  text-align: center;
}

.otoku_price {
  display: flex;
  align-items: center;
  justify-content: center;
  /* color: #fff; */
  font-size: 18px;
  font-weight: 500;
  margin: 0 auto 15px;
  padding: 0 10px 0 15px;
  width: fit-content;
  /*height: 2em;*/
  background-color: #ffc397;
  /* border-radius: 3em; */
  position: relative;
}

.otoku_price:after {
  content: "▼";
  display: block;
  color: #ffc397;
  font-size: 20px;
  text-align: center;
  line-height: 1;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: -13px;
  left: 2.5em;
  transform: scale(1, 0.9);
}

.pull_teika {
  color: #999;
  font-size: 16px;
  font-weight: 700;
  text-decoration: line-through;
}

.pull_price_arrow {
  color: #999;
  margin: 0 10px;
}

.pull_price {
  color: #fc5860;
  font-size: 26px;
  font-weight: 700;
}

.pull_price .smaller {
  font-size: 50%;
  color: #494040;
}

.aircon-option-item {
  display: none;
}

.air_pull {
  margin: 0 auto;
  width: 95%;
  max-width: 400px;
}

.slick-next {
  right: -15px;
}

.slick-prev {
  left: -15px;
}

.cleaning-slider-container .slick-next {
  right: -25px;
}

.cleaning-slider-container .slick-prev {
  left: -25px;
}




.contBlockWrap01 {
  position: relative;
}

@media screen and (max-width: 767px) {
  .contBlockWrap01 {
    position: relative;
    padding: 0px 15px;
    overflow-x: clip;
  }
}

.contBlock01 {
  padding: 0 0px 30px;
}

.contBlock01.faq {
  padding: 20px 0px 65px;
}

@media screen and (max-width:767px) {
  .contBlock01.faq {
    padding: 5px 0px 40px;
  }
}

.contIn1024 {
  text-align: center;
  width: 1024px;
  margin: 0px auto;
  position: relative;
}

@media screen and (max-width:767px) {
  .contIn1024 {
    width: 100%;
    overflow: hidden;
  }

  .contBlock01 {
    padding: 0 0px 30px;
  }

  .contBlock01.hikaku {
    padding: 0;
  }
}

.contIn1024.panel.active {
  padding: 0;
  border: none;
}

@media screen and (max-width:767px) {
  .contIn1024.panel.active {
    padding: 10px 0 25px 15px;
  }
}

.h2Wrap01 .contH202 {
  display: inline-block;
  margin-bottom: auto;
  vertical-align: middle;
}

.h2Wrap01 {
  text-align: center;
  margin-bottom: 18px;
  margin-top: 30px;
}

.h2Wrap01::before {
  content: "";
  display: inline-block;
  background-image: url("../../img/tit_deco03_left.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 70px auto;
  width: 70px;
  height: 84px;
  vertical-align: middle;
  margin-right: 14px;
}

.h2Wrap01::after {
  content: "";
  display: inline-block;
  background-image: url("../../img/tit_deco03_right.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 73px auto;
  width: 73px;
  height: 84px;
  vertical-align: middle;
  margin-left: 14px;
}

@media screen and (max-width:767px) {
  .h2Wrap01 .contH202 {
    display: inline-block;
    margin-bottom: auto;
    vertical-align: middle;
  }

  .h2Wrap01 {
    text-align: center;
    margin-top: 15px;
    margin-bottom: 15px;
    position: relative;
    display: inline-block;
  }

  .h2Wrap01::before {
    content: "";
    display: inline-block;
    background-image: url("../img/tit_deco03_left.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 70px auto;
    width: 70px;
    height: 84px;
    vertical-align: middle;
    margin-right: 14px;
    position: absolute;
    left: -70px;
    top: 50%;
    transform: translateY(-50%);
  }

  .h2Wrap01::after {
    content: "";
    display: inline-block;
    background-image: url("../img/tit_deco03_right.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 73px auto;
    width: 73px;
    height: 84px;
    vertical-align: middle;
    margin-left: 14px;
    position: absolute;
    right: -70px;
    top: 50%;
    transform: translateY(-50%);
  }
}

.contH202 {
  font-size: 28px;
  line-height: 1.5em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 24px;
}

.contH202::before {
  content: "";
  display: inline-block;
  background-image: url("/renewal_2025/img/tit_deco02_left.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 25px auto;
  width: 25px;
  height: 50px;
  vertical-align: middle;
  margin-right: 5px;
}

.contH202::after {
  content: "";
  display: inline-block;
  background-image: url("/renewal_2025/img/tit_deco02_right.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 18px auto;
  width: 18px;
  height: 43px;
  vertical-align: middle;
  margin-left: 5px;
}

.h2Wrap01 .contH202 {
  display: inline-block;
  margin-bottom: auto;
  vertical-align: middle;
}

.block08H2Wrap01 .contH202 {
  color: #ffffff;
}

.block08H2Wrap01 .contH202::before {
  background-image: url("/renewal_2025/img/tit_deco02_left_wh.png");
}

.block08H2Wrap01 .contH202::after {
  background-image: url("/renewal_2025/img/tit_deco02_right_wh.png");
}

@media screen and (max-width:767px) {
  .contH202 {
    font-size: 22px;
    line-height: 1.5em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
  }

  .contH202::before {
    content: "";
    display: inline-block;
    background-image: url("/renewal_2025/img/tit_deco02_left.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 21px auto;
    width: 21px;
    height: 42px;
    vertical-align: middle;
    margin-right: 5px;
  }

  .contH202::after {
    content: "";
    display: inline-block;
    background-image: url("/renewal_2025/img/tit_deco02_right.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 15px auto;
    width: 15px;
    height: 35px;
    vertical-align: middle;
    margin-left: 5px;
  }

  .h2Wrap01 .contH202 {
    display: inline-block;
    margin-bottom: auto;
    vertical-align: middle;
  }

  .block08H2Wrap01 .contH202 {
    color: #ffffff;
  }

  .block08H2Wrap01 .contH202::before {
    background-image: url("/renewal_2025/img/tit_deco02_left_wh.png");
  }

  .block08H2Wrap01 .contH202::after {
    background-image: url("/renewal_2025/img/tit_deco02_right_wh.png");
  }

}

.tabWrap01 {
  position: relative;
}

/* ------------------------- */
/* タブ */
/* ------------------------- */
.tab-area {
  display: flex;
  gap: 0px 10px;
  /*border: 1px solid #333;*/
  cursor: pointer;
  /*max-width: 500px; 
  width: 100%;
  margin: 50px auto 0;*/
  position: relative;
  z-index: 1;
  transform: translateY(1px);
}

.tab {
  width: 50%;
  border-radius: 10px 10px 0px 0px;
  overflow: hidden;
}

.tab .tabIn01 {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #E9E9E9;
  box-sizing: border-box;
  width: 100%;
  height: 72px;
  padding: 10px;
  font-size: 20px;
  line-height: 1.4em;
  font-weight: bold;
  /*width: calc(100%/3);
  padding: 10px;
  background-color: #cccccc;*/
  border-bottom: 1px solid #B60081;
  border-radius: 10px 10px 0 0;
}

.tab.active {}

.tab.active .tabIn01 {
  background-color: #ffffff;
  border-top: 3px solid #B60081;
  border-left: 1px solid #B60081;
  border-right: 1px solid #B60081;
  border-bottom: 2px solid #fff;
}

/* ------------------------- */
/* タブの中身 */
/* ------------------------- */
.panel,
.panel-notab {
  display: none;
  background-color: #ffffff;
  padding: 30px 50px 50px;
  border-radius: 0px 0px 30px 30px;
}

.panel.active,
.panel-notab {
  display: block;
  border: 1px solid #B60081;
}

@media screen and (max-width:767px) {
  .panel-notab {
    padding: 15px;
    border-radius: 30px;
  }
}

.equipmentFlex01 .panel.active {
  border: 1px solid #B60081;
}

@media screen and (max-width:767px) {

  /* ------------------------- */
  /* タブ */
  /* ------------------------- */
  .tab-area {
    display: flex;
    gap: 0px 10px;
    /*border: 1px solid #333;*/
    cursor: pointer;
    /*max-width: 500px; 
		width: 100%;
		margin: 50px auto 0;*/
  }

  .tab {
    width: 50%;
    border-radius: 10px 10px 0px 0px;
    overflow: hidden;
  }

  .tab .tabIn01 {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #E9E9E9;
    box-sizing: border-box;
    width: 100%;
    height: 68px;
    padding: 10px;
    font-size: 15px;
    line-height: 1.4em;
    font-weight: bold;
    /*width: calc(100%/3);
		padding: 10px;
		background-color: #cccccc;*/
    border-radius: 10px 10px 0 0;
    text-align: left;
  }

  .tab.active .tabIn01 {
    background-color: #ffffff;
    border-top: 3px solid #B60081;
  }

  /* ------------------------- */
  /* タブの中身 */
  /* ------------------------- */
  .panel {
    display: none;
    background-color: #ffffff;
    padding: 15px;
    /*border-radius: 0px 0px 25px 25px;*/
    border-radius: 25px;
  }

  .panel.active {
    display: block;
  }

}


.tabContFlex01 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
  margin-top: 20px;
}

.tabContFlex01 a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  padding: 10px;
  height: 130px;
  border: 1px solid #cccccc;
  border-bottom-width: 3px;
  border-radius: 12px;
  width: 23.5%;
  font-size: 20px;
  line-height: 1.4em;
  font-weight: bold;
  transition-duration: 0.3s;
  background-color: #ffffff;
}

.tabContFlex01 a.a01 {
  width: 32%;
}

.tabContFlex01 a:hover {
  border: 1px solid #B60081;
  background-color: #F9EFF6;
  transition-duration: 0.3s;
}

.tabContFlex01 a .icon01 {
  margin-bottom: 6px;
}

.tabContFlex01 a .icon01 img {
  display: inline;
  width: 50px;
  height: auto;
}

@media screen and (max-width:767px) {
  .tabContFlex01 {
    display: flex;
    gap: 15px 5.6%;
    margin-top: 0px;
  }

  .panel .tabContFlex01 a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    padding: 10px 5px;
    /*height: 130px;*/
    height: 90px;
    border: 1px solid #CCC;
    border-bottom-width: 3px;
    border-radius: 12px;
    width: 47.2%;
    font-size: 14px;
    line-height: 1.4em;
    font-weight: bold;
    transition-duration: 0.3s;
  }

  .panel .tabContFlex01 a div {
    display: flex;
    align-items: center;
    text-align: left;
    width: 100%;
  }

  .panel .tabContFlex01 a.a01 {
    width: 47.2%;
  }

  .panel .tabContFlex01 a:hover {
    border: 1px solid #B60081;
    background-color: #F9EFF6;
    transition-duration: 0.3s;
  }

  .panel .tabContFlex01 a .icon01 {
    margin-bottom: 6px;
    width: 40px;
  }

  .panel .tabContFlex01 a .icon01 img {
    width: 50px;
    height: auto;
  }

  .panel .tabContFlex01 a .icon01+p {
    padding-left: 10px;
    width: calc(100% - 40px);
  }
}

.tabIcon01 img {
  width: 67px;
  height: auto;
}

@media screen and (max-width:767px) {
  .tabIcon01 img {
    width: 48px;
    height: auto;
  }
}

@media screen and (min-width:768px) {

  .spBr,
  .spbr,
  .sp_only {
    display: none;
  }
}

@media screen and (max-width:767px) {
  .pc_only {
    display: none;
  }
}

.serviceList .panel {
  margin: 0;
}


.contObi01 {
  background-color: #F30D11;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.0em;
  font-weight: bold;
  padding: 3px 6px;
  position: absolute;
  top: -13px;
  left: -9px;
}

.contObi01::after {
  content: "";
  background-image: url("../img/list_band_deco01.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 6px auto;
  width: 6px;
  height: 6px;
  position: absolute;
  left: 0px;
  bottom: -6px;
}

@media screen and (max-width:767px) {
  .contObi01 {
    background-color: #F30D11;
    color: #ffffff;
    font-size: 13px;
    text-align: left;
    line-height: 1.0em;
    font-weight: bold;
    padding: 3px 6px;
    position: absolute;
    top: -10px;
    left: -6px;
  }

  .contObi01::after {
    content: "";
    background-image: url("../img/list_band_deco01.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 6px auto;
    width: 6px;
    height: 6px;
    position: absolute;
    left: 0px;
    bottom: -6px;
  }
}


.item_list_parent_link {
  margin-top: 30px;
}

.item_list_parent_link a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4em;
  margin: 0 auto;
  padding: 0 20px;
  width: fit-content;
  height: 3em;
  border: 1px solid #ccc999;
  /*border-radius: 12px;*/
  border-radius: 3em;
  position: relative;
  box-sizing: border-box;
  transition-duration: 0.3s;

}

@media screen and (max-width:767px) {
  .item_list_parent_link a {
    font-size: 16px;
    width: 100%;
  }
}

/* =========================================================
   商品カセット 202606改修（lp-00056_itemcasset）
   ヘッダー / 価格テキスト / 作業内容アイコングリッド
   ========================================================= */

/* ▼ ヘッダー（プラン名＋サブコピー） */
.casset-head {
  width: 92%;
  margin: 0 auto;
  padding: 2.6rem;
  box-sizing: border-box;
  color: #fff;
  text-align: left;
}

.light-content .casset-head {
  background-color: #f95e80;
}

.standard-content .casset-head {
  background-color: #4ac278;
}

.premium-content .casset-head {
  background-color: #33cae8;
}

.casset-head-title {
  font-size: 4.2rem;
  line-height: 1.2;
  font-weight: 700;
}

.casset-head-sub {
  margin-top: 0.6rem;
  font-size: 2.8rem;
  line-height: 1.2;
  font-weight: 700;
}

/* ▼ 価格テキスト */
.casset-price {
  width: 92%;
  margin: 1.6rem auto 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  /*flex-wrap: wrap;*/
}

.casset-price-line {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #494040;
}

.casset-price-line .teika {
  text-decoration: line-through;
}

.casset-price-line .arrow {
  margin: 0 0.3rem;
}

.casset-price-line .arrow::after {
  display: none;
}

.casset-price-line .now {
  color: #d840a2;
}

.casset-price-line .now b {
  font-size: 4.24rem;
  font-weight: 700;
}

.casset-price-line .now small {
  font-size: 2.26rem;
}

.casset-price-line .per {
  margin-left: 0.4rem;
}

/* ライト：お掃除機能なし／付き どちらも同額表示 */
/* 「なし・付き どちらも」を1行、その下に価格を1行で表示 */
.casset-price-line-both {
  display: flex;
  flex-direction: column;
}

.casset-price-line-both .both-label {
  font-size: 2.26rem;
  white-space: nowrap;
}

.casset-price-line-both .both-note {
  margin-left: 0.5em;
}

/* ライト：スタンダード／プレミアム（通常価格2行）と価格エリアの高さを揃え、
   タブ切替時に下の要素（アイコン・アコーディオン等）がズレないようにする。
   通常価格1行＝4.24rem×1.5＝6.36rem、2行で12.72rem。 */
@media screen and (min-width: 769px) {
  .casset-price-line-both {
    min-height: 12.72rem;
    justify-content: center;
  }
}

.casset-worktime {
  font-size: 2.26rem;
  font-weight: 500;
  line-height: 1.5;
  color: #494040;
  white-space: nowrap;
  background-color: #E7E6E6;
  padding: 0 5px;
  margin-top: 0.8em;
}

.casset-worktime span {
  font-size: 2.83rem;
  font-weight: 700;
}

/* ▼ 作業内容アイコングリッド */
.casset-icons {
  width: 92%;
  margin: 2rem auto 0;
}

.casset-icons.pc {
  display: block;
}

.casset-icons.sp {
  display: none;
}

/* ▼ アコーディオン見出しをプランカラーに合わせる */
.plan-content .accordion-container {
  margin-top: 3em;
  width: 92%;
}

.light-content .accordion-title {
  background-color: #fcd6df;
}

.standard-content .accordion-title {
  background-color: #c0ead0;
}

.premium-content .accordion-title {
  background-color: #c5eef8;
}

@media screen and (max-width: 768px) {
  .casset-head {
    width: 95%;
    padding: 0.9rem 0 0.9rem 0.7rem;
  }

  .casset-head-title {
    font-size: 6.133333333vw;
  }

  .casset-head-sub {
    margin-top: 0.3rem;
    font-size: 14px;
  }

  .casset-price {
    width: 95%;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.8rem;
  }

  .casset-price-line {
    font-size: clamp(10px, 4.266666667vw, 20px);
  }

  .casset-price-line .label {
    display: block;
    margin-bottom: -10px;
    font-size: 0.95em;
  }

  /* ライト：SPはラベル1行＋価格1行のスタック */
  .casset-price-line-both .both-label {
    font-size: clamp(9px, 3.2vw, 15px);
  }

  .casset-price-line-both .both-note {
    margin-left: 0.4em;
  }

  .casset-price-line .now b {
    font-size: 1.5em;
  }

  .casset-price-line .now small {
    font-size: 0.9em;
  }

  .casset-worktime {
    font-size: 4.266666667vw;
    margin-top: 0;
  }

  .casset-worktime span {
    font-size: 1.1em;
  }

  .casset-icons {
    width: 95%;
    margin-top: 1rem;
  }

  .casset-icons.pc {
    display: none;
  }

  .casset-icons.sp {
    display: block;
  }

  .plan-content .accordion-container {
    margin-top: 1.5em;
    width: 95%;
  }
}

/* ---------------------------------------------------------
   価格＆カートボタン部分の改修（202606）
   ※ lp-00056 専用CSSのため他LP（lp-00049等）には影響しません
   --------------------------------------------------------- */

/* 見出し画像「今だけ割引キャンペーン中！」（ピンク版に差し替え済み） */
.plan-content .cp250627_casset_title {
  margin: 1.5rem auto 0.6rem;
  width: 90%;
  max-width: 40rem;
}

/* お得バッジ（ピンクのピル） */
.air_pull .otoku_price {
  background-color: #d840a2;
  color: #fff;
  border-radius: 5em;
  padding: 0.5em 0.6em;
  font-size: clamp(10px, 4.3vw, 18px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 5px;
}

.air_pull .otoku_price span {
  color: #fbff2a;
  font-size: 1.4em;
}

.air_pull .otoku_price:after {
  color: #d840a2;
}

/* 価格（割引後をピンクに） */
.air_pull .pull_price {
  color: #d840a2;
}

/* プルダウン（グレー・角丸・枠なし） */
.air_pull .pull_select_outer {
  background-color: #ebebeb;
  border: none;
  border-radius: 5px;
}

/* 価格リスト・カートリスト（ul余白リセット） */
.air_pull .pull_price_list,
.air_pull .pull_cart_list {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

/* 台数選択ラベル＋上部区切り線（価格とプルダウンの間） */
.air_pull .pull_select_label {
  margin: 5px 0 0;
  padding-top: 10px;
  border-top: 1px solid #e3e3e3;
  text-align: center;
  font-size: 18px;
}

.air_pull .item_modal_open_btn .modal-show {
  width: 65% !important;
  border-radius: 10px !important;
}

/* PC表示は文字サイズ・幅を拡大してデザインに寄せる */
@media screen and (min-width: 769px) {
  .air_pull {
    max-width: 52rem;
  }

  .plan-content .cp250627_casset_title {
    margin-top: 2em;
    max-width: 52rem;
  }

  .air_pull .otoku_price {
    font-size: 2.2rem;
  }

  .air_pull .pull_teika {
    font-size: 2.8rem;
  }

  .air_pull .pull_price_arrow {
    font-size: 3rem;
  }

  .air_pull .pull_price {
    font-size: 4.8rem;
  }

  .air_pull .pull_select_outer select {
    font-size: 2.4rem;
  }

  .air_pull .pull_select_label {
    font-size: 2.4rem;
    margin-top: 8px;
    padding-top: 10px;
  }

  .air_pull .item_modal_open_btn .modal-show {
    width: 80% !important;
    height: 3em !important;
  }

  .air_pull .item_modal_open_btn .modal-show span {
    font-size: 22px !important;
  }
}

.content-set .lp_cp_bnr_slick {
  margin-top: 20px !important;
  max-width: 800px;
}

.cpslick_area .cp_text1 {
  margin: 20px auto 5px;
  width: 90%;
  max-width: 500px;
}

@media screen and (min-width: 769px) {
  .cpslick_area .cp_text1 {
    margin-top: 40px;
  }

  .cpslick_area .cp_text1+.lp_cp_bnr_slick_item {
    margin: 0 auto;
    max-width: 480px;
  }
}

.cpslick_area .cp_text2 {
  margin: 20px auto -15px;
  width: 90%;
  max-width: 500px;
}

@media screen and (min-width: 769px) {
  .cpslick_area .cp_text2 {
    margin: 40px auto -15px;
  }
}


.contBtn02 {
  margin: 0 auto 50px;
}

.contBtn02 a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  padding: 10px;
  width: 400px;
  height: 2.5em;
  margin: auto;
  /*border-radius: 10px;*/
  border-radius: 3em;
  background-color: #00233A;
  font-size: 18px;
  line-height: 1.5em;
  font-weight: bold;
}

.contBtn02 a:link {
  color: #ffffff;
  text-decoration: none;
}

.contBtn02 a .arrow01 {
  right: 15px;
}

.contBtn02 a:visited {
  color: #ffffff;
  text-decoration: none;
}

.contBtn02 a:hover {
  color: #ffffff;
  text-decoration: none;
}

.contBtn02 a:active {
  color: #ffffff;
  text-decoration: none;
}

.contBtn02 .arrow {
  display: inline-block;
  width: 7.9px;
  height: 12.9px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

.contBtn02 .arrow::before,
.contBtn02 .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1.5px);
  right: 0;
  width: 10px;
  height: 3px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 1.5px) 50%;
  border: none;
}

.contBtn02 .arrow::before {
  transform: rotate(45deg);
}

.contBtn02 .arrow::after {
  transform: rotate(-45deg);
}

@media screen and (max-width:767px) {

  .contBtn02 a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
    padding: 10px 15px 10px 5px;
    width: 300px;
    height: 2.5em;
    margin: auto;
    /*border-radius: 10px;*/
    border-radius: 3em;
    background-color: #00233A;
    font-size: 14px;
    line-height: 1.5em;
    font-weight: bold;
  }

  .contBtn02 a:link {
    color: #ffffff;
    text-decoration: none;
  }

  .contBtn02 a:visited {
    color: #ffffff;
    text-decoration: none;
  }

  .contBtn02 a:hover {
    color: #ffffff;
    text-decoration: none;
  }

  .contBtn02 a:active {
    color: #ffffff;
    text-decoration: none;
  }

  .contBtn02 .arrow {
    display: inline-block;
    width: 7.9px;
    height: 12.9px;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
  }
}


.airconBtn01 {
  text-align: center;
}

.airconBtn01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 8px;
  padding: 10px;
  width: 400px;
  height: 54px;
  margin: 5rem auto 5px;
  background-color: #F76A0C;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.5em;
  font-weight: bold;
  box-shadow: 0px 5px 0px #C24D00;
  position: relative;
}

.airconBtn01 a::after {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  height: 100%;
  background-image: url(/renewal_2025/common/img/btn_or_arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  right: 10px;
}

@media screen and (max-width:767px) {

  .airconBtn01 a {
    width: 300px;
    height: 48px;
    margin: 15px auto 5px;
    font-size: 15px;
  }
}



/* ============================================================
   最新の大枠/ヘッダー/フッター（layout_2025 + default_2025）対応
   ・ヘッダー/フッターのスタイルは renewal_2025/common/css/layout.css 由来。
   ・lp-00052 独自の styles.css が後勝ちで上書きしてしまうため、LPで実際に
     描画されるヘッダー/フッター部分のルールを末尾に再掲して優先度を確保する。
   ・参考: lp-00061（同じ layout_2025 + default_2025 を使用）
   ============================================================ */

/* --- ヘッダー（PC） --- */
.headerBlock01 .header_h1 {
  background-color: #B60081;
}

.headerBlock01 .header_h1>h1 {
  color: #fff;
  font-size: clamp(10px, 3.076923077vw, 12px);
  text-align: left;
  line-height: 1.7;
  white-space: nowrap;
  margin: 0 auto;
  max-width: 1024px;
}

.header01 {
  background-color: #F5F7F7;
  padding: 15px;
}

.headerFlex01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.headerBox01 {
  display: flex;
  gap: 0px 5px;
}

.headerBox01 img {
  display: inline;
  width: auto;
  height: 50px;
}

.headerBox02 {
  display: flex;
  gap: 0px 20px;
  text-align: center;
  font-size: 13px;
  line-height: 1.5em;
  font-weight: bold;
}

.headerBox02 .img01 img {
  width: auto;
  height: 35px;
}

/* --- フッター（PC：LPで描画される下部のみ） --- */
.footerBlock01 {
  background-color: #ffffff;
  padding: 60px 0px 0px;
  margin-top: 80px;
  text-align: left;
}

.copyRight01 {
  text-align: center;
  font-size: 10px;
  line-height: 1.5em;
  color: #969595;
  margin: 10px auto;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0px 30px;
}

.footerLogo01 {
  display: flex;
  align-items: center;
}

.footerLogo01 .li01 {
  margin-right: 30px;
}

.footerLogo01 .li01 img {
  width: 120px;
  height: auto;
}

.footer-bv_line {
  color: #747474;
  font-size: 12px;
  line-height: 1.5em;
}

.footer-bv_line a:link,
.footer-bv_line a:visited {
  color: #747474;
  text-decoration: underline;
}

.footer-bv_line a:hover,
.footer-bv_line a:active {
  color: #747474;
  text-decoration: none;
}

.footerLogo02 img {
  width: 184px;
  height: auto;
}

/* --- 共通 hover --- */
.hover:hover {
  cursor: pointer;
}

.li01 .popup-modal img:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  transition-duration: 0.3s;
}

/* --- ヘッダー/フッター（SP: max-width 767px） --- */
@media screen and (max-width: 767px) {
  .header01 {
    background-color: #F5F7F7;
    padding: 10px;
  }

  .headerFlex01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .headerBox01 {
    display: flex;
    gap: 0px 5px;
  }

  .headerBox01 img {
    width: auto;
    height: 38px;
  }

  .headerBox02 {
    display: flex;
    gap: 0px 20px;
    text-align: center;
    font-size: 10px;
    line-height: 1.0em;
    font-weight: bold;
  }

  .headerBox02 .img01 img {
    width: auto;
    height: 32px;
  }

  .footerBlock01 {
    background-color: #ffffff;
    padding: 0px 0px 0px;
    margin-top: 50px;
    text-align: left;
  }

  .copyRight01 {
    text-align: center;
    font-size: 10px;
    line-height: 1.5em;
    color: #969595;
    margin: 10px auto 20px;
  }

  .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px 15px 20px;
  }

  .footerLogo01 {
    display: flex;
    align-items: center;
  }

  .footerLogo01 .li01 {
    margin-right: 14px;
  }

  .footerLogo01 .li01 img {
    width: 94px;
    height: auto;
  }

  .footer-bv_line {
    color: #747474;
    font-size: 11px;
    line-height: 1.5em;
  }

  .footerLogo02 img {
    width: 118px;
    height: auto;
  }
}