@charset "UTF-8";
/********************************************************/
/* -------------------------------------------
 * リキッドな余白用関数
 * -------------------------------------------*/
/* -------------------------------------------
 * フォントサイズのroot
 * -------------------------------------------*/
:root {
  /* --- 1 to 10 --- */
  --f1: 0.1rem;
  --f2: 0.2rem;
  --f3: 0.3rem;
  --f4: 0.4rem;
  --f5: 0.5rem;
  --f6: 0.6rem;
  --f7: 0.7rem;
  --f8: 0.8rem;
  --f9: 0.9rem;
  --f10: 1rem;
  /* --- 11 to 20 --- */
  --f11: 1.1rem;
  --f12: 1.2rem;
  --f13: 1.3rem;
  --f14: clamp(1.3rem, 100vw * 14 / 1240, 1.4rem);
  --f15: clamp(1.4rem, 100vw * 15 / 1240, 1.5rem);
  --f16: clamp(1.4rem, 100vw * 16 / 1240, 1.6rem);
  --f17: clamp(1.4rem, 100vw * 17 / 1240, 1.7rem);
  --f18: clamp(1.5rem, 100vw * 18 / 1240, 1.8rem);
  --f19: clamp(1.5rem, 100vw * 19 / 1240, 1.9rem);
  --f20: clamp(1.5rem, 100vw * 20 / 1240, 2rem);
  /* --- 21 to 30 --- */
  --f21: clamp(1.6rem, 100vw * 21 / 1240, 2.1rem);
  --f22: clamp(1.6rem, 100vw * 22 / 1240, 2.2rem);
  --f23: clamp(1.6rem, 100vw * 23 / 1240, 2.3rem);
  --f24: clamp(1.6rem, 100vw * 24 / 1240, 2.4rem);
  --f25: clamp(1.8rem, 100vw * 25 / 1240, 2.5rem);
  --f26: clamp(1.8rem, 100vw * 26 / 1240, 2.6rem);
  --f27: clamp(1.8rem, 100vw * 27 / 1240, 2.7rem);
  --f28: clamp(1.8rem, 100vw * 28 / 1240, 2.8rem);
  --f29: clamp(1.8rem, 100vw * 29 / 1240, 2.9rem);
  --f30: clamp(1.8rem, 100vw * 30 / 1240, 3rem);
  /* --- 31 to 40 --- */
  --f31: clamp(1.8rem, 100vw * 31 / 1240, 3.1rem);
  --f32: clamp(1.8rem, 100vw * 32 / 1240, 3.2rem);
  --f33: clamp(2rem, 100vw * 33 / 1240, 3.3rem);
  --f34: clamp(2rem, 100vw * 34 / 1240, 3.4rem);
  --f35: clamp(2rem, 100vw * 35 / 1240, 3.5rem);
  --f36: clamp(2rem, 100vw * 36 / 1240, 3.6rem);
  --f37: clamp(2rem, 100vw * 37 / 1240, 3.7rem);
  --f38: clamp(2rem, 100vw * 38 / 1240, 3.8rem);
  --f39: clamp(2rem, 100vw * 39 / 1240, 3.9rem);
  --f40: clamp(2.4rem, 100vw * 40 / 1240, 4rem);
  /* --- 41 to 50 --- */
  --f41: clamp(2rem, 100vw * 41 / 1240, 4.1rem);
  --f42: clamp(2rem, 100vw * 42 / 1240, 4.2rem);
  --f43: clamp(2rem, 100vw * 43 / 1240, 4.3rem);
  --f44: clamp(2rem, 100vw * 44 / 1240, 4.4rem);
  --f45: clamp(2rem, 100vw * 45 / 1240, 4.5rem);
  --f46: clamp(2rem, 100vw * 46 / 1240, 4.6rem);
  --f47: clamp(2rem, 100vw * 47 / 1240, 4.7rem);
  --f48: clamp(2rem, 100vw * 48 / 1240, 4.8rem);
  --f49: clamp(2rem, 100vw * 49 / 1240, 4.9rem);
  --f50: clamp(2rem, 100vw * 50 / 1240, 5rem);
  /* --- 51 to 60 --- */
  --f51: clamp(2rem, 100vw * 51 / 1240, 5.1rem);
  --f52: clamp(2rem, 100vw * 52 / 1240, 5.2rem);
  --f53: clamp(2rem, 100vw * 53 / 1240, 5.3rem);
  --f54: clamp(2rem, 100vw * 54 / 1240, 5.4rem);
  --f55: clamp(3rem, 100vw * 55 / 1240, 5.5rem);
  --f56: clamp(3rem, 100vw * 56 / 1240, 5.6rem);
  --f57: clamp(3rem, 100vw * 57 / 1240, 5.7rem);
  --f58: clamp(3rem, 100vw * 58 / 1240, 5.8rem);
  --f59: clamp(3rem, 100vw * 59 / 1240, 5.9rem);
  --f60: clamp(3rem, 100vw * 60 / 1240, 6rem);
  /* --- 61 to 70 --- */
  --f61: clamp(3rem, 100vw * 61 / 1240, 6.1rem);
  --f62: clamp(3rem, 100vw * 62 / 1240, 6.2rem);
  --f63: clamp(3rem, 100vw * 63 / 1240, 6.3rem);
  --f64: clamp(3rem, 100vw * 64 / 1240, 6.4rem);
  --f65: clamp(3rem, 100vw * 65 / 1240, 6.5rem);
  --f66: clamp(3rem, 100vw * 66 / 1240, 6.6rem);
  --f67: clamp(3rem, 100vw * 67 / 1240, 6.7rem);
  --f68: clamp(3rem, 100vw * 68 / 1240, 6.8rem);
  --f69: clamp(3rem, 100vw * 69 / 1240, 6.9rem);
  --f70: clamp(3rem, 100vw * 70 / 1240, 7rem);
  /* --- 71 to 80 --- */
  --f71: clamp(3rem, 100vw * 71 / 1240, 7.1rem);
  --f72: clamp(3rem, 100vw * 72 / 1240, 7.2rem);
  --f73: clamp(3rem, 100vw * 73 / 1240, 7.3rem);
  --f74: clamp(3rem, 100vw * 74 / 1240, 7.4rem);
  --f75: clamp(3rem, 100vw * 75 / 1240, 7.5rem);
  --f76: clamp(3rem, 100vw * 76 / 1240, 7.6rem);
  --f77: clamp(3rem, 100vw * 77 / 1240, 7.7rem);
  --f78: clamp(3rem, 100vw * 78 / 1240, 7.8rem);
  --f79: clamp(3rem, 100vw * 79 / 1240, 7.9rem);
  --f80: clamp(3rem, 100vw * 80 / 1240, 8rem);
  /* --- 81 to 90 --- */
  --f81: clamp(3rem, 100vw * 81 / 1240, 8.1rem);
  --f82: clamp(3rem, 100vw * 82 / 1240, 8.2rem);
  --f83: clamp(3rem, 100vw * 83 / 1240, 8.3rem);
  --f84: clamp(3rem, 100vw * 84 / 1240, 8.4rem);
  --f85: clamp(3rem, 100vw * 85 / 1240, 8.5rem);
  --f86: clamp(3rem, 100vw * 86 / 1240, 8.6rem);
  --f87: clamp(3rem, 100vw * 87 / 1240, 8.7rem);
  --f88: clamp(3rem, 100vw * 88 / 1240, 8.8rem);
  --f89: clamp(3rem, 100vw * 89 / 1240, 8.9rem);
  --f90: clamp(3rem, 100vw * 90 / 1240, 9rem);
  /* --- 91 to 100 --- */
  --f91: clamp(3rem, 100vw * 91 / 1240, 9.1rem);
  --f92: clamp(3rem, 100vw * 92 / 1240, 9.2rem);
  --f93: clamp(3rem, 100vw * 93 / 1240, 9.3rem);
  --f94: clamp(3rem, 100vw * 94 / 1240, 9.4rem);
  --f95: clamp(3rem, 100vw * 95 / 1240, 9.5rem);
  --f96: clamp(3rem, 100vw * 96 / 1240, 9.6rem);
  --f97: clamp(3rem, 100vw * 97 / 1240, 9.7rem);
  --f98: clamp(3rem, 100vw * 98 / 1240, 9.8rem);
  --f99: clamp(3rem, 100vw * 99 / 1240, 9.9rem);
  --f100: clamp(3rem, 100vw * 100 / 1240, 10rem);
  /* --- 101 to 110 --- */
  --f101: clamp(3rem, 100vw * 101 / 1240, 10.1rem);
  --f102: clamp(3rem, 100vw * 102 / 1240, 10.2rem);
  --f103: clamp(3rem, 100vw * 103 / 1240, 10.3rem);
  --f104: clamp(3rem, 100vw * 104 / 1240, 10.4rem);
  --f105: clamp(3rem, 100vw * 105 / 1240, 10.5rem);
  --f106: clamp(3rem, 100vw * 106 / 1240, 10.6rem);
  --f107: clamp(3rem, 100vw * 107 / 1240, 10.7rem);
  --f108: clamp(3rem, 100vw * 108 / 1240, 10.8rem);
  --f109: clamp(3rem, 100vw * 109 / 1240, 10.9rem);
  --f110: clamp(3rem, 100vw * 110 / 1240, 11rem);
  /* --- 111 to 120 --- */
  --f111: clamp(3rem, 100vw * 111 / 1240, 11.1rem);
  --f112: clamp(3rem, 100vw * 112 / 1240, 11.2rem);
  --f113: clamp(3rem, 100vw * 113 / 1240, 11.3rem);
  --f114: clamp(3rem, 100vw * 114 / 1240, 11.4rem);
  --f115: clamp(3rem, 100vw * 115 / 1240, 11.5rem);
  --f116: clamp(3rem, 100vw * 116 / 1240, 11.6rem);
  --f117: clamp(3rem, 100vw * 117 / 1240, 11.7rem);
  --f118: clamp(3rem, 100vw * 118 / 1240, 11.8rem);
  --f119: clamp(3rem, 100vw * 119 / 1240, 11.9rem);
  --f120: clamp(3rem, 100vw * 120 / 1240, 12rem);
}

/* -------------------------------------------
 * 共通
 * -------------------------------------------*/
img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.br-sp {
  display: none;
}
@media (max-width: 834px) {
  .br-sp {
    display: block;
  }
}

.no-br-sp {
  display: block;
}
@media (max-width: 834px) {
  .no-br-sp {
    display: none;
  }
}

/* -------------------------------------------
 * intro
 * -------------------------------------------*/
.p-cleaning-intro {
  max-width: var(--mw_m);
  margin-inline: auto;
  padding-block: clamp(60px, 100vw * 120 / 1240, 120px);
}
@media (max-width: 834px) {
  .p-cleaning-intro {
    padding-bottom: 0;
  }
}

.p-cleaning-intro__lead {
  width: min(750px, 90%);
  margin-inline: auto;
  margin-bottom: clamp(30px, 100vw * 82 / 1240, 82px);
}

.p-cleaning-intro__ttl {
  font-family: var(--font_point);
  font-size: var(--f48);
  font-weight: 300;
  line-height: 1.4;
  text-align: center;
  color: var(--color_base);
  margin-bottom: clamp(20px, 100vw * 40 / 1240, 40px);
}

.p-cleaning-intro__desc {
  font-weight: 500;
  line-height: 2;
  color: var(--color_base);
}

.p-cleaning-intro__stain {
  background-color: var(--color_bg_04);
  padding-block: clamp(30px, 100vw * 45 / 1240, 45px) clamp(30px, 100vw * 60 / 1240, 60px);
  padding-inline: 5%;
}
@media (max-width: 834px) {
  .p-cleaning-intro__stain {
    padding-bottom: 60px;
  }
}

.p-cleaning-intro__stain-ttl {
  font-family: var(--font_point);
  font-size: var(--f26);
  font-weight: 300;
  line-height: 1.4;
  text-align: center;
  color: var(--color_base);
  margin-bottom: clamp(20px, 100vw * 40 / 1240, 40px);
}

.p-cleaning-intro__stain-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
@media (max-width: 834px) {
  .p-cleaning-intro__stain-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-cleaning-intro__stain-item {
  background-color: #fff;
  padding-block: 20px clamp(25px, 100vw * 40 / 1240, 40px);
  padding-inline: 7%;
}

.p-cleaning-intro__stain-item-ttl {
  font-family: var(--font_point);
  font-size: var(--f24);
  font-weight: 300;
  line-height: 1.5;
  text-align: center;
  color: var(--color_point);
  padding-bottom: clamp(10px, 100vw * 18 / 1240, 18px);
  margin-bottom: 20px;
  border-bottom: 1px solid #ddd;
}

.p-cleaning-intro__stain-item-body {
  display: grid;
  grid-template-columns: 120fr 287fr;
  gap: 20px 6%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 834px) {
  .p-cleaning-intro__stain-item-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-cleaning-intro__stain-item-txt {
  font-weight: 500;
  line-height: 2;
  color: var(--color_base);
  margin-top: 0.5em;
}
@media (max-width: 834px) {
  .p-cleaning-intro__stain-item-txt {
    margin-top: 0;
  }
}

.p-cleaning-intro__stain-item-icon img {
  width: 100%;
  height: auto;
}
@media (max-width: 834px) {
  .p-cleaning-intro__stain-item-icon {
    width: 40%;
    margin-inline: auto;
  }
}

/* -------------------------------------------
 * reason
 * -------------------------------------------*/
.p-cleaning-reason__head-img {
  width: 100%;
  height: auto;
}
.p-cleaning-reason__head-img img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 834px) {
  .p-cleaning-reason__head-img img {
    aspect-ratio: 12/7;
  }
}

.p-cleaning-reason__main {
  background-color: var(--color_bg_04);
  padding-block: clamp(40px, 100vw * 120 / 1240, 120px) clamp(60px, 100vw * 120 / 1240, 120px);
}

.p-cleaning-reason__main-inner {
  max-width: var(--mw_m);
  width: 90%;
  margin-inline: auto;
}

.p-cleaning-reason__main-en {
  font-family: var(--font_point_en);
  font-size: var(--f120);
  line-height: 1;
  text-align: center;
  color: var(--color_bg_05);
}

.p-cleaning-reason__main-ttl {
  font-family: var(--font_point);
  font-size: var(--f30);
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
  color: var(--color_base);
  margin-bottom: clamp(20px, 100vw * 40 / 1240, 40px);
}

.p-cleaning-reason__main-lead {
  font-weight: 500;
  line-height: 2;
  text-align: center;
  color: var(--color_base);
}
@media (max-width: 834px) {
  .p-cleaning-reason__main-lead {
    text-align: left;
  }
}

.p-cleaning-reason__main-list {
  counter-reset: cleaning-reason;
  margin-top: clamp(50px, 100vw * 63 / 1240, 63px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(50px, 100vw * 120 / 1240, 120px);
}

.p-cleaning-reason__main-item {
  counter-increment: cleaning-reason;
  display: grid;
  grid-template-columns: 516fr 600fr;
  gap: 20px 7%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media (max-width: 834px) {
  .p-cleaning-reason__main-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-cleaning-reason__main-item:nth-child(even) {
  grid-template-columns: 600fr 516fr;
}
.p-cleaning-reason__main-item:nth-child(even) .p-cleaning-reason__main-item-body {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.p-cleaning-reason__main-item:nth-child(even) .p-cleaning-reason__main-item-img {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media (max-width: 834px) {
  .p-cleaning-reason__main-item:nth-child(even) .p-cleaning-reason__main-item-body,
  .p-cleaning-reason__main-item:nth-child(even) .p-cleaning-reason__main-item-img {
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}

.p-cleaning-reason__main-item-body {
  position: relative;
  z-index: 1;
}
.p-cleaning-reason__main-item-body::before {
  content: counter(cleaning-reason, decimal-leading-zero);
  font-family: var(--font_point_en);
  font-size: clamp(8rem, 12.9032258065vw, 16rem);
  line-height: 1;
  color: #fff;
  position: absolute;
  top: -20%;
  right: 0;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 834px) {
  .p-cleaning-reason__main-item-body::before {
    right: unset;
    left: 0;
    top: -5%;
  }
}

.p-cleaning-reason__main-item-ttl {
  font-family: var(--font_point);
  font-size: var(--f36);
  font-weight: 300;
  line-height: 1.5;
  color: var(--color_base);
  margin-bottom: clamp(15px, 100vw * 35 / 1240, 35px);
  padding-bottom: clamp(15px, 100vw * 30 / 1240, 30px);
  position: relative;
}
.p-cleaning-reason__main-item-ttl::after {
  content: "";
  display: block;
  width: 32px;
  height: 1px;
  background-color: var(--color_point);
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (max-width: 834px) {
  .p-cleaning-reason__main-item-ttl::after {
    width: 20px;
  }
}

.p-cleaning-reason__main-item-txt {
  font-weight: 500;
  line-height: 2;
  color: var(--color_base);
}

.p-cleaning-reason__main-item-img img {
  width: 100%;
  height: auto;
  display: block;
}

/* -------------------------------------------
 * feature
 * -------------------------------------------*/
.p-cleaning-feature {
  padding-block: clamp(60px, 100vw * 120 / 1240, 120px);
  background-color: #fff;
}

.p-cleaning-feature__inner {
  max-width: var(--mw_m);
  width: 90%;
  margin-inline: auto;
}

.p-cleaning-feature__ttl {
  margin-inline: auto;
  background-color: var(--color_point);
  color: #ffffff;
  font-family: var(--font_point);
  font-size: var(--f34);
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.3em 0.7em;
  margin-bottom: clamp(20px, 100vw * 57 / 1240, 57px);
}

.p-cleaning-feature__lead {
  font-size: var(--f18);
  line-height: 1.8;
  text-align: center;
  color: var(--color_base);
  margin-bottom: clamp(30px, 100vw * 50 / 1240, 50px);
}
@media (max-width: 834px) {
  .p-cleaning-feature__lead {
    text-align: left;
  }
}

.p-cleaning-feature__list {
  width: min(1100px, 100%);
  margin-inline: auto;
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px 20px;
}
@media (max-width: 639px) {
  .p-cleaning-feature__list {
    gap: 15px 20px;
  }
}

.p-cleaning-feature__item {
  width: 23%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  aspect-ratio: 1/1;
  background: url("../img/cleaning/feature_icon-bg.webp") no-repeat center center/contain;
}
@media (max-width: 960px) {
  .p-cleaning-feature__item {
    width: 30%;
  }
}
@media (max-width: 639px) {
  .p-cleaning-feature__item {
    width: 46%;
  }
}
.p-cleaning-feature__item:nth-child(1) .p-cleaning-feature__item-icon {
  width: 31%;
}
.p-cleaning-feature__item:nth-child(2) .p-cleaning-feature__item-icon {
  width: 27%;
}
.p-cleaning-feature__item:nth-child(3) .p-cleaning-feature__item-icon {
  width: 49%;
}
.p-cleaning-feature__item:nth-child(4) .p-cleaning-feature__item-icon {
  width: 30%;
}
.p-cleaning-feature__item:nth-child(5) .p-cleaning-feature__item-icon {
  width: 27%;
}
.p-cleaning-feature__item:nth-child(6) .p-cleaning-feature__item-icon {
  width: 27%;
}
.p-cleaning-feature__item:nth-child(7) .p-cleaning-feature__item-icon {
  width: 24%;
}
.p-cleaning-feature__item:nth-child(n+5):nth-child(-n+7) .p-cleaning-feature__item-inner {
  padding-top: clamp(10px, 100vw * 15 / 1240, 15px);
}

.p-cleaning-feature__item-inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(10px, 100vw * 15 / 1240, 15px);
}

.p-cleaning-feature__item-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-item-align: center;
      align-self: center;
}
.p-cleaning-feature__item-icon img {
  width: 100%;
  height: auto;
}

.p-cleaning-feature__item-txt {
  font-family: var(--font_point);
  font-size: clamp(1.3rem, 1.6129032258vw, 2rem);
  font-weight: 300;
  line-height: 1.6;
  text-align: center;
  color: var(--color_base);
}

.p-cleaning-feature__foot {
  margin-inline: auto;
  text-align: center;
}

.p-cleaning-feature__foot-arrow {
  margin-top: clamp(40px, 100vw * 60 / 1240, 60px);
  width: 20%;
  max-width: 121px;
  height: auto;
  aspect-ratio: 121/65;
  margin-inline: auto;
  display: block;
}

.p-cleaning-feature__foot-txt {
  margin-top: 1.5em;
  font-family: var(--font_point);
  font-size: var(--f24);
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
  color: var(--color_base);
}
@media (max-width: 834px) {
  .p-cleaning-feature__foot-txt {
    margin-top: 1em;
  }
}

.p-cleaning-feature__foot-txt-strong {
  font-size: clamp(2.2rem, 2.4193548387vw, 3rem);
  color: var(--color_point);
  border-bottom: 1px solid currentColor;
}
@media (max-width: 834px) {
  .p-cleaning-feature__foot-txt-strong {
    line-height: 1.6;
    margin-top: 0.2em;
    display: inline-block;
  }
}

/* -------------------------------------------
 * merit
 * -------------------------------------------*/
.p-cleaning-merit {
  background-color: var(--color_bg_04);
  padding-block: clamp(60px, 100vw * 120 / 1240, 120px);
}

.p-cleaning-merit__inner {
  max-width: var(--mw_l);
  width: 90%;
  margin-inline: auto;
}

.p-cleaning-merit__en {
  font-family: var(--font_point_en);
  font-size: var(--f120);
  line-height: 1;
  text-align: center;
  color: var(--color_bg_05);
}

.p-cleaning-merit__ttl {
  font-family: var(--font_point);
  font-size: var(--f30);
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
  color: var(--color_base);
  margin-bottom: clamp(40px, 100vw * 80 / 1240, 80px);
}

.p-cleaning-merit__body {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(40px, 100vw * 120 / 1240, 120px);
  padding-block: clamp(40px, 100vw * 80 / 1240, 80px);
}
@media (max-width: 1024px) {
  .p-cleaning-merit__body {
    gap: 30px;
  }
}
.p-cleaning-merit__body::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: min(65%, 752px);
  aspect-ratio: 752/752;
  background: url("../img/cleaning/merit_visual.webp") no-repeat center center/contain;
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 834px) {
  .p-cleaning-merit__body::before {
    display: none;
  }
}

.p-cleaning-merit__row {
  position: relative;
  z-index: 1;
}

.p-cleaning-merit__lead {
  width: min(847px, 90%);
  margin-inline: auto;
}

.p-cleaning-merit__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 440px));
  grid-template-rows: auto 1fr;
  width: 100%;
  -webkit-column-gap: clamp(20px, 100vw * 40 / 1240, 40px);
     -moz-column-gap: clamp(20px, 100vw * 40 / 1240, 40px);
          column-gap: clamp(20px, 100vw * 40 / 1240, 40px);
  row-gap: 0;
}
@media (max-width: 834px) {
  .p-cleaning-merit__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 20px;
  }
}

.p-cleaning-merit__row--top .p-cleaning-merit__list {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-cleaning-merit__row--middle .p-cleaning-merit__list {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-cleaning-merit__row--top .p-cleaning-merit__list,
.p-cleaning-merit__row--middle .p-cleaning-merit__list {
  -webkit-column-gap: 8%;
     -moz-column-gap: 8%;
          column-gap: 8%;
}
@media (max-width: 1024px) {
  .p-cleaning-merit__row--top .p-cleaning-merit__list,
  .p-cleaning-merit__row--middle .p-cleaning-merit__list {
    gap: 30px;
  }
}

.p-cleaning-merit__row--bottom .p-cleaning-merit__list {
  grid-template-columns: minmax(0, 440px);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-cleaning-merit__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  max-width: 440px;
  width: 100%;
  border: 1px solid var(--color_border_03);
  background-color: #fff;
  padding-block: clamp(10px, 100vw * 20 / 1240, 20px) clamp(20px, 100vw * 40 / 1240, 40px);
}
@media (max-width: 834px) {
  .p-cleaning-merit__item {
    display: block;
    grid-row: auto;
    grid-template-rows: none;
    max-width: none;
  }
}

.p-cleaning-merit__item-ttl {
  background-color: var(--color_bg_04);
  font-family: var(--font_point);
  font-size: var(--f26);
  font-weight: 300;
  line-height: 1.5;
  color: var(--color_point);
  padding-block: 0.7em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-cleaning-merit__item-txt {
  margin-top: 1.5em;
}

.p-cleaning-merit__item-ttl,
.p-cleaning-merit__item-txt {
  padding-inline: 7%;
}
@media (max-width: 834px) {
  .p-cleaning-merit__item-ttl,
  .p-cleaning-merit__item-txt {
    padding-inline: 5%;
  }
}

/* -------------------------------------------
 * flow
 * -------------------------------------------*/
.p-cleaning-flow {
  background-color: #fff;
  padding-block: clamp(60px, 100vw * 120 / 1240, 120px);
}

.p-cleaning-flow__inner {
  max-width: var(--mw_m);
  width: 90%;
  margin-inline: auto;
}

.p-cleaning-flow__en {
  font-family: var(--font_point_en);
  font-size: var(--f120);
  line-height: 1;
  text-align: center;
  color: var(--color_bg_05);
}

.p-cleaning-flow__ttl {
  font-family: var(--font_point);
  font-size: var(--f30);
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
  color: var(--color_base);
  margin-bottom: clamp(20px, 100vw * 40 / 1240, 40px);
}

.p-cleaning-flow__lead {
  font-weight: 500;
  line-height: 2;
  text-align: center;
  color: var(--color_base);
  margin-bottom: clamp(40px, 100vw * 80 / 1240, 80px);
}
@media (max-width: 834px) {
  .p-cleaning-flow__lead {
    text-align: left;
  }
}

.p-cleaning-flow__list {
  counter-reset: cleaning-flow;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-cleaning-flow__item {
  counter-increment: cleaning-flow;
  display: grid;
  grid-template-columns: 120fr 1050fr;
  gap: 3%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  position: relative;
  padding-bottom: clamp(40px, 100vw * 80 / 1240, 80px);
}
.p-cleaning-flow__item::before {
  content: "";
  position: absolute;
  top: 120px;
  left: 60px;
  width: 1px;
  height: calc(100% - 120px);
  border-left: 1px solid var(--color_border_03);
  z-index: 0;
}
.p-cleaning-flow__item:last-child {
  padding-bottom: 0;
}
.p-cleaning-flow__item:last-child::before {
  display: none;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 20px;
  }
  .p-cleaning-flow__item::before {
    left: 30px;
    top: 60px;
    height: calc(100% - 60px);
  }
}

.p-cleaning-flow__item-step {
  position: relative;
  z-index: 1;
  width: 120px;
  height: 120px;
  aspect-ratio: 1;
  border-radius: 100vmax;
  background: -webkit-gradient(linear, left bottom, right top, from(#ab6b08), to(#b69060));
  background: linear-gradient(to top right, #ab6b08 0%, #b69060 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-family: var(--font_point_en);
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-step {
    width: 60px;
    height: 60px;
  }
}

.p-cleaning-flow__item-step-en {
  font-size: clamp(1.2rem, 1.6129032258vw, 2rem);
  margin-bottom: 0.2em;
  margin-top: 0.3em;
}

.p-cleaning-flow__item-step-num {
  font-size: var(--f48);
}
.p-cleaning-flow__item-step-num::before {
  content: counter(cleaning-flow, decimal-leading-zero);
}

.p-cleaning-flow__item-content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 511fr 460fr;
  gap: 7%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.p-cleaning-flow__item-body {
  padding-top: clamp(12px, 100vw * 40 / 1240, 40px);
}

.p-cleaning-flow__item-ttl {
  font-family: var(--font_point);
  font-size: var(--f30);
  font-weight: 300;
  line-height: 1.8;
  color: var(--color_point);
  margin-bottom: clamp(15px, 100vw * 25 / 1240, 25px);
}

.p-cleaning-flow__item-detail {
  grid-column: 2;
  min-width: 0;
  background-color: #f9fafd;
  padding: clamp(30px, 100vw * 50 / 1240, 50px) clamp(20px, 100vw * 50 / 1240, 50px) clamp(20px, 100vw * 40 / 1240, 40px);
  margin-top: clamp(20px, 100vw * 40 / 1240, 40px);
}

.p-cleaning-flow__item-detail-scroll {
  padding-bottom: clamp(20px, 100vw * 40 / 1240, 40px);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #ddd #fff;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-scroll {
    padding-bottom: 0;
  }
}
.p-cleaning-flow__item-detail-scroll::-webkit-scrollbar {
  height: 3px;
  width: 3px;
}
.p-cleaning-flow__item-detail-scroll::-webkit-scrollbar-track {
  background-color: #fff;
}
.p-cleaning-flow__item-detail-scroll::-webkit-scrollbar-thumb {
  background-color: #ddd;
  border-radius: 0;
}
.p-cleaning-flow__item-detail-scroll::-webkit-scrollbar-thumb:hover, .p-cleaning-flow__item-detail-scroll::-webkit-scrollbar-thumb:active {
  background-color: #ddd;
}
.p-cleaning-flow__item-detail-scroll::-webkit-scrollbar-track-piece {
  background-color: transparent;
}
.p-cleaning-flow__item-detail-scroll::-webkit-scrollbar-corner {
  background-color: transparent;
}
.p-cleaning-flow__item-detail-scroll::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}

.p-cleaning-flow__item-detail-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 4039px;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-list {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}

.p-cleaning-flow__item-detail-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-cleaning-flow__item-detail-step--01 {
  width: 726px;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-step--01 {
    width: auto;
  }
}

.p-cleaning-flow__item-detail-step--02 {
  width: 727px;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-step--02 {
    width: auto;
  }
}

.p-cleaning-flow__item-detail-step--03 {
  width: 726px;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-step--03 {
    width: auto;
  }
}

.p-cleaning-flow__item-detail-step--04 {
  width: 759px;
  padding-left: 32px;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-step--04 {
    width: auto;
  }
}

.p-cleaning-flow__item-detail-step--05 {
  width: 727px;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-step--05 {
    width: auto;
  }
}

.p-cleaning-flow__item-detail-step-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 280px;
  aspect-ratio: 280/220;
  height: auto;
  background-color: #fff;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-step-img {
    width: 210px;
  }
}

.p-cleaning-flow__item-detail-step-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 280/220;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-cleaning-flow__item-detail-step-body {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 416px;
  margin-left: 30px;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-step-body {
    width: 312px;
  }
}

.p-cleaning-flow__item-detail-step--04 .p-cleaning-flow__item-detail-step-body {
  width: 417px;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-step--04 .p-cleaning-flow__item-detail-step-body {
    width: 312px;
  }
}

.p-cleaning-flow__item-detail-step-ttl {
  font-family: var(--font_base);
  font-size: var(--f20);
  font-weight: 700;
  line-height: 1.4;
  color: #191919;
  margin-bottom: 27px;
}
@media (max-width: 834px) {
  .p-cleaning-flow__item-detail-step-ttl {
    margin-bottom: 1em;
  }
}

.p-cleaning-flow__item-detail-step-ttl-sub {
  font-size: var(--f15);
  font-weight: 700;
}

.p-cleaning-flow__item-detail-step-txt {
  font-family: var(--font_base);
  font-weight: 500;
  line-height: 2;
  color: var(--color_base);
}

.p-cleaning-flow__item-detail-arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 97px;
}

.p-cleaning-flow__item-detail-arrow::before {
  content: "";
  display: block;
  width: 18px;
  height: 35px;
  background-color: #e5e5e5;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.p-cleaning-flow__item-detail-arrow--01 {
  width: 102px;
}

.p-cleaning-flow__item-detail-arrow--02 {
  width: 101px;
}

.p-cleaning-flow__item-detail-arrow--03 {
  width: 70px;
}

.p-cleaning-flow__item-detail-arrow--04 {
  width: 101px;
}

.p-cleaning-flow__item-detail-ttl {
  position: relative;
  font-family: var(--font_point);
  font-size: var(--f22);
  font-weight: 300;
  line-height: 1.4;
  color: var(--color_base);
  padding-left: 34px;
  margin-bottom: clamp(20px, 100vw * 30 / 1240, 30px);
}
.p-cleaning-flow__item-detail-ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 2px;
  background-color: var(--color_point);
}

/* -------------------------------------------
 * 予防歯科バナー
 * -------------------------------------------*/
.preventive-banner {
  background: url(../img/cleaning/preventive-banner_bg.webp) no-repeat center center/cover;
  position: relative;
  display: block;
  margin-top: clamp(60px, 100vw * 230 / 1240, 230px);
}
@media (max-width: 834px) {
  .preventive-banner {
    margin-top: 40px;
  }
}
.preventive-banner .inbtn_more {
  margin-top: clamp(20px, 100vw * 40 / 1240, 40px);
}
@media (max-width: 834px) {
  .preventive-banner .inbtn_more {
    margin-inline: auto;
  }
}

.preventive-banner__inner {
  display: grid;
  grid-template-columns: 340fr 550fr;
  gap: 0 5%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 834px) {
  .preventive-banner__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.preventive-banner__visual {
  margin-left: 13%;
  margin-top: -13%;
  margin-bottom: 8%;
  max-width: 340px;
}
@media (max-width: 834px) {
  .preventive-banner__visual {
    display: none;
  }
}

.preventive-banner__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 834px) {
  .preventive-banner__content {
    padding-inline: 5%;
    padding-block: 30px;
  }
}

.preventive-banner__copy {
  font-size: var(--f22);
  text-decoration: underline;
}
@media (max-width: 834px) {
  .preventive-banner__copy {
    margin-inline: auto;
  }
}

.preventive-banner__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(8px, 100vw * 12 / 1240, 12px);
  width: 100%;
  font-size: clamp(2.2rem, 2.5806451613vw, 3.2rem);
  font-family: var(--font_point);
  font-weight: 300;
  margin-top: clamp(10px, 100vw * 30 / 1240, 30px);
}
@media (max-width: 834px) {
  .preventive-banner__ttl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.preventive-banner__ttl-strong {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(4px, 100vw * 8 / 1240, 8px);
}

.preventive-banner__ttl-char {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.4em;
  height: 1.4em;
  background-color: #fff;
  line-height: 1;
  color: var(--color_point);
  font-size: clamp(3.5rem, 3.5483870968vw, 4.4rem);
}

/* -------------------------------------------
 * FAQ
 * -------------------------------------------*/
/********************************************************/
/* -------------------------------------------
 * サイドメニュー
 * アコーディオン
 * -------------------------------------------*/
.accordion__item {
  display: grid;
  grid-template-rows: -webkit-min-content 0fr;
  grid-template-rows: min-content 0fr;
  -webkit-transition: grid-template-rows 300ms ease;
  transition: grid-template-rows 300ms ease;
  transition: grid-template-rows 300ms ease, -ms-grid-rows 300ms ease;
  cursor: pointer;
  overflow: hidden;
}
.accordion__item.accordion-open {
  grid-template-rows: -webkit-min-content 1fr;
  grid-template-rows: min-content 1fr;
}
.accordion__item.accordion-open .open-close-button::before {
  content: "";
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
  -webkit-transform: translate(50%, -50%) rotate(-90deg);
          transform: translate(50%, -50%) rotate(-90deg);
}

.accordion__item .accordion__detail {
  overflow: hidden;
}

.accordion__item + .accordion__item {
  margin-top: calc(20 * var(--px, 1px));
}

.accordion__summary {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 0.8em;
     -moz-column-gap: 0.8em;
          column-gap: 0.8em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  line-height: 1;
  padding-bottom: calc(10 * var(--px, 1px));
}

.open-close-button {
  width: calc(13 * var(--px, 1px));
  height: calc(13 * var(--px, 1px));
  border-radius: 100vmax;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  display: grid;
  position: relative;
}
.open-close-button::before, .open-close-button::after {
  content: "";
  position: absolute;
  background: #222;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.open-close-button::after {
  width: calc(13 * var(--px, 1px));
  height: 1px;
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.open-close-button::before {
  width: 1px;
  height: calc(13 * var(--px, 1px));
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}

.p-cleaning-faq {
  padding-block: clamp(30px, 100vw * 120 / 1240, 120px);
  background-color: var(--color_bg);
}

.p-cleaning-faq__inner {
  max-width: var(--mw_m);
  width: 90%;
  margin-inline: auto;
}

.p-cleaning-faq__en {
  font-family: var(--font_point_en);
  font-size: var(--f120);
  line-height: 1;
  text-align: center;
  color: var(--color_bg_05);
}

.p-cleaning-faq__ttl {
  font-family: var(--font_point);
  font-size: var(--f30);
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
  color: var(--color_base);
  margin-bottom: clamp(15px, 100vw * 25 / 1240, 25px);
}

.p-cleaning-faq__lead {
  line-height: 2;
  text-align: center;
  color: var(--color_base);
  margin-bottom: clamp(40px, 100vw * 80 / 1240, 80px);
}
@media (max-width: 834px) {
  .p-cleaning-faq__lead {
    text-align: left;
  }
}

.p-cleaning-faq__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(20px, 100vw * 30 / 1240, 30px);
}

.p-cleaning-faq__item {
  border: 1px solid #ddd;
  background-color: #fff;
  cursor: pointer;
}

.p-cleaning-faq__item.accordion__item + .p-cleaning-faq__item.accordion__item {
  margin-top: 0;
}

.p-cleaning-faq__summary {
  grid-template-columns: auto minmax(0, 1fr) auto;
  -webkit-column-gap: clamp(15px, 100vw * 20 / 1240, 20px);
     -moz-column-gap: clamp(15px, 100vw * 20 / 1240, 20px);
          column-gap: clamp(15px, 100vw * 20 / 1240, 20px);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: clamp(20px, 100vw * 36 / 1240, 36px) clamp(20px, 100vw * 42 / 1240, 42px);
  background-color: #f9f7f5;
  padding-bottom: clamp(20px, 100vw * 36 / 1240, 36px);
}
@media (max-width: 834px) {
  .p-cleaning-faq__summary {
    -webkit-column-gap: 0.5em;
       -moz-column-gap: 0.5em;
            column-gap: 0.5em;
  }
}

.p-cleaning-faq__q {
  font-family: var(--font_point);
  font-size: var(--f32);
  font-weight: 300;
  line-height: 1;
  color: var(--color_point);
}

.p-cleaning-faq__question {
  font-family: var(--font_point);
  font-size: var(--f22);
  font-weight: 300;
  line-height: 1.8;
  color: var(--color_base);
}
@media (max-width: 834px) {
  .p-cleaning-faq__question {
    margin-top: -0.3em;
  }
}

:root {
  --accordion-close-button-size-pc: 29px;
  --accordion-close-button-size-sp: 18px;
}

.p-cleaning-faq__item .open-close-button {
  width: var(--accordion-close-button-size-pc);
  height: var(--accordion-close-button-size-pc);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 834px) {
  .p-cleaning-faq__item .open-close-button {
    width: var(--accordion-close-button-size-sp);
    height: var(--accordion-close-button-size-sp);
    margin-left: 0.5em;
  }
}
.p-cleaning-faq__item .open-close-button::before, .p-cleaning-faq__item .open-close-button::after {
  background: var(--color_point);
}
.p-cleaning-faq__item .open-close-button::after {
  width: var(--accordion-close-button-size-pc);
  height: 1px;
}
@media (max-width: 834px) {
  .p-cleaning-faq__item .open-close-button::after {
    width: var(--accordion-close-button-size-sp);
  }
}
.p-cleaning-faq__item .open-close-button::before {
  width: 1px;
  height: var(--accordion-close-button-size-pc);
}
@media (max-width: 834px) {
  .p-cleaning-faq__item .open-close-button::before {
    height: var(--accordion-close-button-size-sp);
  }
}

.p-cleaning-faq__detail-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  -webkit-column-gap: clamp(15px, 100vw * 20 / 1240, 20px);
     -moz-column-gap: clamp(15px, 100vw * 20 / 1240, 20px);
          column-gap: clamp(15px, 100vw * 20 / 1240, 20px);
  padding: clamp(25px, 100vw * 40 / 1240, 40px) clamp(20px, 100vw * 42 / 1240, 42px) clamp(30px, 100vw * 50 / 1240, 50px);
}

.p-cleaning-faq__a {
  font-family: var(--font_point);
  font-size: var(--f32);
  font-weight: 300;
  line-height: 1;
  color: #b6b6b6;
}

.p-cleaning-faq__answer-lead {
  font-family: var(--font_point);
  font-size: var(--f20);
  font-weight: 300;
  line-height: 1.8;
  color: var(--color_base);
  margin-bottom: clamp(15px, 100vw * 25 / 1240, 25px);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

@media (max-width: 834px) {
  .p-cleaning-faq__answer {
    margin-top: -0.45em;
  }
}/*# sourceMappingURL=cleaning.css.map */