@charset "utf-8";
/* ****************** 공통클래스 ********************** */
.area {
  max-width: 134rem;
  position: relative;
  margin: 0px auto;
}
.area-sm {
  max-width: 120rem;
  position: relative;
  margin: 0px auto;
}
.area-full {
  max-width: 160rem;
  position: relative;
  margin: 0px auto;
}
.table-layout {
  display: table;
  width: 100%;
  height: 100%;
}
.table-cell-layout {
  display: table-cell;
  width: 100%;
  height: 100%;
  vertical-align: middle;
}
.blind {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  font-size: 0;
  line-height: 0;
}
.mb_view,
.mb_view900,
.mb_view520 {
  display: none !important;
}
.pc_view,
.pc_view900 {
  display: block !important;
}
/* ****************** MODAL LAYERPOPUP ********************** */
.popup-wrap {
  background-color: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  padding: 1.5rem;
  z-index: 99999;
}
.popup {
  width: 100%;
  position: relative;
  max-width: 110rem;
  margin: 0 auto;
  border-radius: 2rem;
  overflow: hidden;
  background: #363b3e;
}
.popup-wrap.full {
  padding: 0;
}
.popup-wrap.full .popup {
  max-width: 100%;
  border-radius: 0;
  height: 100vh;
  background: transparent;
}
.popup-head {
  background: var(--bs-primary);
  padding: 2rem 3.5rem;
  color: var(--bs-white);
  font-size: 2rem;
  font-weight: 600;
  font-family: "Paperozi";
}
.popup-wrap.full .popup-head,
.popup-wrap.full .popup-body {
  background: transparent;
}
.popup-wrap.full .popup-head {
  font-size: 6rem;
  padding: 4vw 4vw 2vw;
}
.popup-wrap.full .popup-body {
  padding-left: 4vw;
  padding-right: 4vw;
}
.popup-body {
  background: var(--bs-white);
  padding: 2rem;
}
.body-content.scroll {
  width: 100%;
  word-break: break-word;
  overflow-x: auto;
  max-height: 55rem;
  padding: 2rem;
  line-height: 1.4em;
}
.popup-foot {
  position: absolute;
  top: 2rem;
  right: 2rem;
  color: var(--bs-white);
}
.popup-wrap.full .popup-foot {
  right: 4vw;
  top: 4vw;
}
.pop-btn {
  color: var(--bs-white);
  cursor: pointer;
}
.pop-btn i {
  color: var(--bs-white);
}

@media all and (max-width: 1600px) {
  .area-full {
    padding: 0 1.5rem;
  }
}
@media all and (max-width: 1340px) {
  .area {
    padding: 0 1.5rem;
  }
}
@media all and (max-width: 1340px) {
  .area-sm {
    padding: 0 1.5rem;
  }
}
@media all and (max-width: 1024px) {
  .mb_view {
    display: block !important;
  }
  .pc_view {
    display: none !important;
  }
}
@media all and (max-width: 900px) {
  .mb_view900 {
    display: block !important;
  }
  .pc_view900 {
    display: none !important;
  }
}
@media all and (max-width: 800px) {
  body,
  table,
  th,
  td,
  button,
  select,
  input,
  textarea {
    font-size: 1.4rem;
  }
}

/* ****************** SUB LAYOUT ********************** */
@media all and (max-width: 1220px) {
  #visual .visual-txt-con {
    padding: 0;
  }
}

@media all and (max-width: 800px) {
  /*  SUB LAYOUT :: 비주얼 */
  #visual {
    height: 200px;
  }
  #visual .visual-txt-con {
    padding: 0 15px;
  }
  #visual .visual-tit {
    font-size: 25px;
    line-height: 1.4;
    margin-top: 70px;
  }
}
.main-section {
  padding: 12rem 0;
}
.main-title {
  text-align: center;
  margin-bottom: 4rem;
  visibility: hidden;
}
.main-title h2 {
  font-size: 7rem;
  color: #1a1a1a;
  font-weight: 400;
  font-family: "Paperozi";
  margin-bottom: 2rem;
}
.main-title h2 strong {
  font-family: "Paperozi";
}
.main-title h3 {
  color: var(--bs-primary);
  font-family: "Paperozi";
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 3rem;
}
.main-title p {
  color: #595959;
  font-size: 2rem;
  line-height: 1.4;
  word-break: keep-all;
}
.main-title p strong {
  color: var(--bs-black);
  font-weight: 500;
}
.main-title h3 .char,
.main-title h2 .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(70px) rotate(8deg);
  will-change: transform, opacity;
  font-family: "Paperozi";
}
.main-title p {
  opacity: 0;
  transform: translateY(40px);
}
.img-bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: var(--bs-primary);
  z-index: 2;
  transform-origin: right center;
}

@media all and (max-width: 800px) {
  .main-section {
    padding: 10rem 0;
  }
  .main-title {
    margin-bottom: 4rem;
  }
  .main-title h2 {
    font-size: 6rem;
    margin-bottom: 1.5rem;
  }
  .main-title h3 {
    font-size: 2.3rem;
    margin-bottom: 2rem;
  }
  .main-title p {
    font-size: 2.2rem;
  }
}

@media all and (max-width: 520px) {
  .mb_view520 {
    display: block !important;
  }
  .main-section {
    padding: 5rem 0;
  }
  .main-title {
    margin-bottom: 3rem;
  }
  .main-title h2 {
    font-size: 3rem;
    margin-bottom: 1.2rem;
  }
  .main-title h3 {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
  .main-title p {
    font-size: 1.3rem;
  }
}
/* =========================
   메인 비주얼
========================= */
#mainVisual {
  overflow: hidden;
  width: 100%;
  height: 866px;
  position: relative;
}
#mainVisual .main-visual-con,
#mainVisual .slick-list,
#mainVisual .slick-track,
.main-visual-item,
#mainVisual .slick-slider {
  height: 100%;
  z-index: 1;
}
#mainVisual .slick-track {
  overflow: hidden;
}
/* 메인 비주얼 :: 이미지 */
#mainVisual .main-visual-item {
  position: relative;
}
#mainVisual .main-visual-item .main-visual-pc-img {
  width: 100%;
  height: 100%;
  background-size: cover !important;
  -ms-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  -moz-transform: scale(1.1, 1.1);
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
  -webkit-transition: transform 3000ms ease-in-out;
  -moz-transition: transform 3000ms ease-in-out;
  -o-transition: transform 3000ms ease-in-out;
  -ms-transition: transform 3000ms ease-in-out;
  transition: transform 3000ms ease-in-out;
}
#mainVisual .main-visual-item.active-item .img {
  overflow: hidden;
  z-index: 10;
  width: 100%;
  height: 100%;
  position: relative;
}
/* 메인 비주얼 :: 텍스트 */
#mainVisual .main-visual-item .main-visual-txt-con {
  position: absolute;
  top: 50%;
  left: 2%;
  right: 2%;
  z-index: 100;
  transform: translateY(-50%);
  text-align: left;
}
#mainVisual .main-visual-item .main-visual-txt-con h2,
#mainVisual .main-visual-item .main-visual-txt-con h3,
#mainVisual .main-visual-item .main-visual-txt-con p {
  opacity: 0;
  filter: Alpha(opacity=0);
  -webkit-transition:
    opacity 1s,
    transform 1s;
  -moz-transition:
    opacity 1s,
    transform 1s;
  -o-transition:
    opacity 1s,
    transform 1s;
  -ms-transition:
    opacity 1s,
    transform 1s;
  transition:
    opacity 1s,
    transform 1s;
}
#mainVisual .main-visual-item .main-visual-txt-con p {
  transform: translateY(30px);
}
/* 메인 비주얼 :: active효과 */
#mainVisual .main-visual-item.active-item .main-visual-pc-img {
  -ms-transform: scale(1, 1) rotate(0.01deg);
  -o-transform: scale(1, 1) rotate(0.01deg);
  -moz-transform: scale(1, 1) rotate(0.01deg);
  -webkit-transform: scale(1, 1) rotate(0.01deg);
  transform: scale(1, 1) rotate(0.01deg);
}
#mainVisual .main-visual-item.active-item .main-visual-txt-con h2,
#mainVisual .main-visual-item.active-item .main-visual-txt-con h3,
#mainVisual .main-visual-item.active-item .main-visual-txt-con p {
  opacity: 1;
  filter: Alpha(opacity=100);
}
#mainVisual .main-visual-item.active-item .main-visual-txt-con p {
  transform: translateY(0px);
}
#mainVisual .main-visual-txt-con h2 .char,
#mainVisual .main-visual-txt-con h3 .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(60px);
  will-change: transform, opacity;
  font-family: "Paperozi";
}
#mainVisual .main-visual-item.item1 .main-visual-pc-img {
  background: url(../images/main_visual01.png) no-repeat center center;
  background-size: cover;
}
#mainVisual h2 {
  color: var(--bs-secondary);
  font-size: 4rem;
  font-weight: 400;
  margin-bottom: 3rem;
  -webkit-transition-delay: 0.3s;
  -moz-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  -ms-transition-delay: 0.3s;
  transition-delay: 0.3s;
  word-break: keep-all;
  line-height: 1.4em;
  font-family: "Paperozi";
}
#mainVisual h3 {
  color: #1a1a1a;
  font-size: 6.2rem;
  font-weight: 400;
  margin-bottom: 2rem;
  -webkit-transition-delay: 0.3s;
  -moz-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  -ms-transition-delay: 0.3s;
  transition-delay: 0.3s;
  word-break: keep-all;
  line-height: 1.3em;
  font-family: "Paperozi";
}
#mainVisual p {
  color: #1a1a1a;
  line-height: 1.4em;
  font-size: 2.2rem;
  -webkit-transition-delay: 0.8s;
  -moz-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  -ms-transition-delay: 0.8s;
  transition-delay: 0.8s;
  word-break: keep-all;
}
#mainVisual .slide-arrow {
  position: absolute;
  /*top: 50%;
  transform: translateY(-50%);
  */
  bottom: 5%;
  z-index: 9991;
}
#mainVisual .prev-arrow {
  left: 2rem;
}
#mainVisual .next-arrow {
  right: 2rem;
}
/* 메인 비주얼 :: 버튼 */
#mainVisual .slick-dots {
  position: absolute;
  width: 100%;
  text-align: center;
  left: 0%;
  bottom: 5%;
  margin: 0;
  z-index: 999;
}
#mainVisual .slick-dots li {
  display: inline-block;
  margin: 0.6rem;
  padding: 0px;
}
#mainVisual .slick-dots li button {
  cursor: pointer;
  margin: 0px;
  padding: 0px;
  text-indent: -9999px;
  width: 5rem;
  height: 0.3rem;
  background: rgba(255, 255, 255, 0.5);
}
#mainVisual .slick-dots li.slick-active button {
  background: var(--bs-primary);
}
@keyframes move {
  0% {
    left: 0%;
  }
  50% {
    left: 5%;
  }
  100% {
    left: 0%;
  }
}

@media all and (max-width: 1220px) {
  #mainVisual {
    height: 70rem;
  }
}

@media all and (max-width: 1024px) {
  #mainVisual {
    height: 100vh;
  }
  #mainVisual h2 {
    font-size: 3.2rem;
  }
  #mainVisual h3 {
    font-size: 5.2rem;
  }
  #mainVisual p {
    font-size: 1.8rem;
  }
}

@media all and (max-width: 800px) {
  #mainVisual {
    height: 130rem;
  }
  #mainVisual .main-visual-item .main-visual-txt-con {
    transform: translateY(0%);
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    top: 0;
    padding: 220px 0 50px 0;
  }
  #mainVisual .main-visual-item.item1 .main-visual-pc-img {
    background: url(../images/mb_visual.jpg) no-repeat top center;
    background-size: cover;
  }
  #mainVisual h2 {
    font-size: 4rem;
  }
  #mainVisual h3 {
    font-size: 6.2rem;
  }
  #mainVisual p {
    font-size: 2.2rem;
    margin-top: auto;
  }
}

@media all and (max-width: 520px) {
  #mainVisual {
    height: 65rem;
  }
  #mainVisual .main-visual-item .main-visual-txt-con {
    padding: 160px 0 30px 0;
  }
  #mainVisual h2 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
  #mainVisual h3 {
    font-size: 3.1rem;
  }
  #mainVisual p {
    font-size: 1.2rem;
  }
}
.allinone-section {
  padding: 0 0 0;
  overflow: hidden;
}
.allinone-inner {
  position: relative;
  width: 100%;
  max-width: 123rem;
  margin: 0 auto;
  min-height: 88.5rem;
}
/* =========================
   왼쪽 기본 서비스
========================= */

.allinone-basic {
  position: absolute;
  top: 3rem;
  left: 0;
  width: 60%;
  min-height: 76.4rem;
  padding: 7rem 17rem 7rem 7rem;
  border: 1px solid #dcdcdc;
  border-radius: 1.6rem;
  background: #f8f8f8;
}
.allinone-basic-item {
  text-align: center;
}
.allinone-basic-item + .allinone-basic-item {
  margin-top: 7rem;
}
.allinone-basic-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 12.7rem;
  margin-bottom: 2rem;
}
.allinone-basic-icon img {
  display: block;
  width: auto;
  max-width: 19.7rem;
  filter: grayscale(1);
  opacity: 0.55;
}
.allinone-basic-item h3 {
  margin: 0;
  font-size: 3.8rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -0.05em;
  color: var(--bs-black);
}
.allinone-basic-item h3 strong {
  font-weight: 700;
}
.allinone-basic-item p {
  margin: 1.4rem 0 0;
  font-size: 2.2rem;
  line-height: 1.65;
  letter-spacing: -0.04em;
  color: #737373;
}
.allinone-basic-item p strong {
  font-weight: 400;
  color: #000000;
}

.allinone-basic-msg {
  margin: 2.4rem 0 0;
  text-align: center;
  font-size: 4.2rem;
  line-height: 1.35;
  letter-spacing: -0.04em;
  color: var(--bs-secondary);
}
.allinone-basic-msg strong {
  font-size: 4.6rem;
}
/* =========================
   오른쪽 프리미엄 카드
========================= */

.allinone-premium {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: 52%;
  min-height: 84rem;
  padding: 6rem 4.5rem 6rem;
  border: 2px solid #043a6e;
  border-radius: 1.6rem;
  background: var(--bs-white);
  box-shadow: 0 24px 60px rgba(0, 42, 85, 0.08);
}
.allinone-premium-title {
  text-align: center;
  color: #043a6e;
  letter-spacing: -0.05em;
}
.allinone-premium-title span {
  display: block;
  font-size: 5rem;
  line-height: 1.25;
  font-weight: 400;
}
.allinone-premium-title strong {
  display: block;
  font-size: 5.8rem;
  line-height: 1.2;
  font-weight: 700;
}
.allinone-premium-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.allinone-premium-item {
  display: grid;
  grid-template-columns: 15rem 1fr;
  align-items: center;
  min-height: 15rem;
  padding: 1rem 0;
  border-bottom: 1px dashed #aaa;
}
.allinone-premium-item:last-child {
  border-bottom: 0;
}
.allinone-premium-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.allinone-premium-icon img {
  display: block;
  width: 14.4rem;
  max-width: 100%;
}
.allinone-premium-text {
  padding-left: 1rem;
  letter-spacing: -0.045em;
}
.allinone-premium-text strong {
  display: block;
  font-size: 2.8rem;
  line-height: 1.4;
  font-weight: 700;
  color: var(--bs-black);
}
.allinone-premium-text strong span {
  font-weight: 400;
  color: #595959;
}
.allinone-premium-text p {
  margin: 0.2rem 0 0;
  font-size: 2.8rem;
  line-height: 1.45;
  color: #595959;
}
/* =========================
   모션 초기 상태
========================= */

.js .allinone-basic,
.js .allinone-premium {
  visibility: hidden;
}
.allinone-basic-item,
.allinone-premium-title,
.allinone-premium-item {
  will-change: transform, opacity;
}

@media screen and (max-width: 1200px) {
  .allinone-inner {
    max-width: 98rem;
  }
  .allinone-basic {
    width: 61%;
    padding: 6rem 21rem 6rem 4.5rem;
  }
  .allinone-basic-item h3 {
    font-size: 3rem;
  }
  .allinone-premium {
    width: 57%;
    padding: 5.5rem 3.5rem;
  }
  .allinone-premium-title span {
    font-size: 4.2rem;
  }
  .allinone-premium-title strong {
    font-size: 4.2rem;
  }
  .allinone-premium-item {
    grid-template-columns: 9rem 1fr;
  }
  .allinone-premium-icon img {
    width: 7.4rem;
  }
  .allinone-premium-text strong,
  .allinone-premium-text p {
    font-size: 2.7rem;
  }
}

@media screen and (max-width: 900px) {
  .allinone-inner {
    display: flex;
    flex-direction: column;
    min-height: auto;
  }
  .allinone-basic,
  .allinone-premium {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    width: 100%;
    min-height: auto;
  }
  .allinone-basic {
    margin-bottom: 2rem;
    padding: 5rem 3rem;
    display: flex;
    flex-wrap: wrap;
  }
  .allinone-basic-item h3 {
    font-size: 3.3rem;
  }
  .allinone-basic-item p {
    margin: 1rem 0 0;
    font-size: 2.3rem;
    line-height: 1.45;
  }
  .allinone-basic-msg {
    width: 100%;
  }
  .allinone-premium {
    padding: 4.5rem 3.5rem;
  }
  .allinone-basic-item {
    width: 50%;
  }
  .allinone-basic-item + .allinone-basic-item {
    margin-top: 0rem;
  }
  .allinone-basic-icon img {
    max-width: 26rem;
  }
  .allinone-premium-title span {
    font-size: 5.3rem;
    display: inline-block;
  }
  .allinone-premium-title strong {
    font-size: 5.3rem;
    display: inline-block;
    margin-left: 0.5rem;
  }
  .allinone-premium-item {
    grid-template-columns: 12.5rem 1fr;
    margin: 0 auto;
  }
  .allinone-premium-icon img {
    width: 100%;
  }
  .allinone-premium-text strong,
  .allinone-premium-text p {
    font-size: 3.3rem;
  }
}

@media screen and (max-width: 520px) {
  .allinone-premium {
    padding: 3.8rem 2rem;
    border-radius: 1.2rem;
  }
  .allinone-premium-title span {
    font-size: 2.6rem;
  }
  .allinone-premium-title strong {
    font-size: 2.6rem;
  }
  .allinone-premium-item {
    grid-template-columns: 7.2rem 1fr;
    min-height: auto;
    padding: 0.8rem 0;
  }
  .allinone-premium-icon img {
    width: 6rem;
  }
  .allinone-premium-text {
    padding-left: 1rem;
  }
  .allinone-premium-text strong,
  .allinone-premium-text p {
    font-size: 1.6rem;
  }
  .allinone-basic {
    padding: 4rem 2rem;
    border-radius: 1.2rem;
  }
  .allinone-basic-icon img {
    max-width: 13rem;
  }
  .allinone-basic-item h3 {
    font-size: 1.7rem;
  }
  .allinone-basic-item p {
    font-size: 1.4rem;
  }
  .allinone-basic-msg {
    font-size: 1.9rem;
    margin: 0.4rem 0 2rem 0;
  }
  .allinone-basic-msg strong {
    font-size: 2.2rem;
  }
  .allinone-basic-icon {
    height: 7.5rem;
    margin-bottom: 1.4rem;
  }
  .allinone-premium-text strong,
  .allinone-premium-text p {
    font-size: 1.7rem;
  }
}
/* =========================
   중간 베너
========================= */
.care-section {
  position: relative;
  min-height: 94rem;
  padding: 11rem 0px 9rem;
  overflow: hidden;
  background: url("../images/main_sec02_bg.png") center center / cover no-repeat;
  color: var(--bs-white);
}
.care-section__inner {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.care-section__top h2,
.care-section__bottom h3 {
  margin: 0;
  font-size: 5rem;
  line-height: 1.35;
  font-weight: 300;
  letter-spacing: -0.05em;
  font-family: "Paperozi";
}
.care-section__top h2 strong,
.care-section__bottom h3 strong {
  font-weight: 700;
  font-family: "Paperozi";
}
.care-section__top p {
  margin: 3.4rem 0 0;
  font-size: 2.5rem;
  line-height: 1.75;
  letter-spacing: -0.04em;
}
.care-section__top p strong {
  font-weight: 700;
}
.care-section__answer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 4rem;
  padding: 1rem 3rem;
  border-radius: 10px;
  background: var(--bs-red);
  box-shadow: 0 14px 35px rgba(161, 16, 20, 0.3);
  font-size: 8rem;
  line-height: 1.2;
  font-weight: 800;
  font-family: "Paperozi";
}
.care-section__guide {
  margin: 4rem 0 0;
  font-size: 2.5rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: -0.04em;
}
.care-section__bottom {
  margin-top: 6rem;
}
.care-section__bottom h3 {
  font-size: 5rem;
}
.care-section__reason {
  margin: 2.6rem 0 0;
  font-size: 2.5rem;
  line-height: 1.8;
  letter-spacing: -0.04em;
}
.care-section__reason strong {
  font-weight: 700;
}
.care-section__description {
  margin: 3rem 0 0;
  font-size: 2.5rem;
  line-height: 1.75;
  letter-spacing: -0.04em;
}
/* 모션 전 깜빡임 방지 */

.js .care-section__top,
.js .care-section__answer,
.js .care-section__guide,
.js .care-section__bottom {
  visibility: hidden;
}

/* 태블릿 */

@media screen and (max-width: 1024px) {
  .care-section {
    min-height: auto;
    padding: 9rem 0;
    background-position: 58% center;
  }
  .care-section__top h2 {
    font-size: 3.6rem;
  }
  .care-section__bottom h3 {
    font-size: 3.5rem;
  }
  .care-section__top p,
  .care-section__guide,
  .care-section__reason,
  .care-section__description {
    font-size: 1.8rem;
  }
  .care-section__answer {
    font-size: 4.3rem;
  }
}

/* 모바일 */

@media screen and (max-width: 768px) {
  .care-section {
    padding: 7rem 0;
    background-position: 28% center;
  }
  .care-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.12);
    pointer-events: none;
  }
  .care-section__inner {
    position: relative;
    z-index: 1;
  }
  .care-section__top h2 {
    font-size: 5rem;
    line-height: 1.45;
  }
  .care-section__top p {
    margin-top: 2.2rem;
    font-size: 2.5rem;
    line-height: 1.75;
  }
  .care-section__answer {
    margin-top: 3rem;
    padding: 1.4rem 2rem;
    font-size: 8rem;
  }
  .care-section__guide {
    margin-top: 3rem;
    font-size: 2.6rem;
  }
  .care-section__bottom {
    margin-top: 4rem;
  }
  .care-section__bottom h3 {
    font-size: 5rem;
    line-height: 1.45;
  }
  .care-section__reason,
  .care-section__description {
    font-size: 2.5rem;
    line-height: 1.45;
  }
  .care-section__reason {
    margin-top: 2rem;
  }
  .care-section__description {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 520px) {
  .care-section {
    padding: 5rem 0;
  }
  .care-section__top h2 {
    font-size: 2.5rem;
  }
  .care-section__top p {
    font-size: 1.6rem;
  }
  .care-section__bottom h3 {
    font-size: 2.2rem;
  }
  .care-section__answer {
    font-size: 4rem;
  }
  .care-section__guide {
    font-size: 1.6rem;
  }
  .care-section__bottom h3 {
    font-size: 2.5rem;
  }
  .care-section__reason,
  .care-section__description {
    font-size: 1.6rem;
  }
}
/* =========================
   5단계 케어
========================= */
.care-step-section {
  padding: 9rem 1.5rem 11rem;
  overflow: hidden;
  background: var(--bs-white);
}
.care-step-inner {
  width: 100%;
  max-width: 160rem;
  margin: 0 auto;
}
.care-step-title {
  margin-bottom: 5.6rem;
  text-align: center;
  font-size: 5rem;
  line-height: 1.3;
  font-weight: 300;
  letter-spacing: -0.06em;
  color: #1a1a1a;
  font-family: "Paperozi";
}
.care-step-title strong {
  font-weight: 700;
  font-family: "Paperozi";
}
.care-step-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3rem;
}
.care-step-item {
  position: relative;
  padding: 4rem 2rem 3rem;
  overflow: hidden;
  border: 1px solid #d9d9d9;
  border-radius: 1.6rem;
  background: var(--bs-white);
  text-align: center;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}
.care-step-item:hover {
  transform: translateY(-10px);
  border-color: var(--bs-secondary);
  box-shadow: 0 20px 45px rgba(7, 70, 127, 0.12);
}
.care-step-num {
  display: block;
  margin-bottom: 2rem;
  font-size: 2.3rem;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--bs-secondary);
  font-family: "Paperozi";
}
.care-step-image {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
}
.care-step-image img {
  display: block;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.45s ease;
}
.care-step-item:hover .care-step-image img {
  transform: scale(1.06);
}
.care-step-item h3 {
  margin: 0;
  font-size: 2.7rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.045em;
  color: #1a1a1a;
}
.care-step-item p {
  margin: 1rem 0 0;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: #595959;
}
/* 모션 시작 전 깜빡임 방지 */

.js .care-step-title,
.js .care-step-item {
  visibility: hidden;
}

@media screen and (max-width: 1500px) {
  .care-step-inner {
    max-width: 138rem;
  }
  .care-step-list {
    gap: 2rem;
  }
  .care-step-item {
    padding-right: 1.8rem;
    padding-left: 1.8rem;
    text-align: center;
  }
  .care-step-num {
    font-size: 2.3rem;
  }
  .care-step-image img {
    max-width: 155px;
  }
  .care-step-item h3 {
    font-size: 2rem;
  }
  .care-step-item p {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1100px) {
  .care-step-section {
    padding: 7.5rem 1.5rem 9rem;
  }
  .care-step-title {
    margin-bottom: 4rem;
    font-size: 4rem;
  }
  .care-step-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 768px) {
  .care-step-section {
    padding: 6rem 1.5rem;
  }
  .care-step-title {
    margin-bottom: 3rem;
    font-size: 5.5rem;
    line-height: 1.4;
  }
  .care-step-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }
  .care-step-item {
    padding: 3rem 1.5rem;
    border-radius: 1.2rem;
  }
  .care-step-num {
    margin-bottom: 1rem;
    font-size: 2.5rem;
  }
  .care-step-image {
    margin-bottom: 1rem;
  }
  .care-step-image img {
    max-width: 130px;
  }
  .care-step-item h3 {
    font-size: 2rem;
  }
  .care-step-item p {
    font-size: 2.3rem;
    line-height: 1.45;
  }
  .care-step-item p br {
    display: none;
  }
}

@media screen and (max-width: 520px) {
  .care-step-section {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .care-step-list {
    grid-template-columns: 1fr;
  }
  .care-step-title {
    font-size: 2.7rem;
  }
  .care-step-num {
    font-size: 1.4rem;
  }
  .care-step-item h3 {
    font-size: 1.6rem;
  }
  .care-step-item {
    text-align: left;
    display: flex;
    align-items: center;
    padding: 3rem 2rem;
  }
  .care-step-image {
    margin-bottom: 0;
    margin-right: 2rem;
  }
  .care-step-image img {
    max-width: 10rem;
  }
  .care-step-item p {
    font-size: 1.4rem;
  }
}
/* =========================
  하루케어시간
========================= */
.care-time-section {
  padding: 0 2rem;
  overflow: hidden;
  background: var(--bs-white);
}
.care-time-inner {
  width: 100%;
  max-width: 160rem;
  margin: 0 auto;
}
.care-time-title {
  margin-bottom: 4rem;
  text-align: center;
  font-size: 5rem;
  line-height: 1.3;
  font-weight: 300;
  letter-spacing: -0.06em;
  color: #1a1a1a;
  font-family: "Paperozi";
}
.care-time-title strong {
  font-weight: 700;
  font-family: "Paperozi";
}
.care-time-box {
  padding: 6rem;
  background: #f6f6f6;
}
.care-time-normal h3,
.care-time-premium h3 {
  margin: 0;
  font-size: 3.5rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.05em;
}
.care-time-normal h3 {
  color: #595959;
}
.care-time-premium h3 {
  color: var(--bs-secondary);
  font-weight: 700;
}
/* 일반 입주청소 */

.care-time-normal {
  width: 50%;
}
.care-time-normal-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9.5rem;
  margin-top: 2rem;
  padding: 2rem;
  border-radius: 1.4rem;
  background: #8c8c8c;
  font-size: 2.5rem;
  line-height: 1.4;
  color: var(--bs-white);
}
.care-time-arrow {
  position: relative;
  height: 5.2rem;
  margin-top: 2rem;
}
.care-time-arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: currentColor;
}
.care-time-arrow::after {
  content: "";
  position: absolute;
  top: -6px;
  right: -1px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 12px solid currentColor;
}
.care-time-arrow span {
  position: absolute;
  right: 4%;
  top: 1.4rem;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.04em;
  white-space: nowrap;
}
.care-time-arrow--normal {
  color: #595959;
}
/* 멍크린 */

.care-time-premium {
  margin-top: 6rem;
}
.care-time-step-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 2.5rem;
  padding: 3rem;
  border: 2px solid var(--bs-secondary);
  border-radius: 1.6rem;
  background: var(--bs-white);
}
.care-time-step {
  display: flex;
  align-items: center;
  min-width: 0;
}
.care-time-step-icon {
  flex: 0 0 9.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.care-time-step-icon img {
  display: block;
  width: 8.2rem;
  max-width: 100%;
  object-fit: contain;
}
.care-time-step-text {
  min-width: 0;
  padding-left: 1.4rem;
}
.care-time-step-text strong {
  display: block;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 500;
  font-family: "Paperozi";
  color: var(--bs-secondary);
}
.care-time-step-text p {
  margin: 0.5rem 0 0;
  font-size: 2.3rem;
  line-height: 1.5;
  letter-spacing: -0.04em;
  color: #595959;
}
.care-time-arrow--premium {
  color: var(--bs-secondary);
}
.care-time-arrow--premium span {
  right: 2%;
  color: var(--bs-secondary);
}

.js .care-time-title,
.js .care-time-normal,
.js .care-time-premium h3,
.js .care-time-step,
.js .care-time-arrow--premium {
  visibility: hidden;
}

@media screen and (max-width: 1300px) {
  .care-time-inner {
    max-width: 118rem;
  }
  .care-time-box {
    padding-right: 4.5rem;
    padding-left: 4.5rem;
  }
  .care-time-step-list {
    gap: 1.2rem;
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .care-time-step-icon {
    flex-basis: 7.2rem;
  }
  .care-time-step-icon img {
    width: 6.6rem;
  }
  .care-time-step-text {
    padding-left: 1rem;
  }
  .care-time-step-text strong {
    font-size: 1.7rem;
  }
  .care-time-step-text p {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 1024px) {
  .care-time-section {
    padding: 0 2rem;
  }
  .care-time-title {
    margin-bottom: 3rem;
    font-size: 4rem;
  }
  .care-time-box {
    padding: 3.5rem;
  }
  .care-time-normal {
    width: 65%;
  }
  .care-time-step-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem 2rem;
  }
  .care-time-step {
    justify-content: flex-start;
  }
}

@media screen and (max-width: 768px) {
  .care-time-section {
    padding: 0 0;
  }
  .care-time-inner {
    max-width: none;
  }
  .care-time-title {
    margin: 0 0 3rem;
    font-size: 5.5rem;
    line-height: 1.35;
    letter-spacing: -0.06em;
  }
  .care-time-box {
    padding: 4.5rem 3rem;
  }
  /* =========================
     일반 입주청소
  ========================= */

  .care-time-normal {
    position: relative;
    width: 100%;
    padding-right: 14.5rem;
  }
  .care-time-normal h3 {
    margin-bottom: 1rem;
    font-size: 3.5rem;
  }
  .care-time-normal-bar {
    width: 100%;
    min-height: 27.8rem;
    margin-top: 0;
    border-radius: 1.4rem;
    font-size: 2.5rem;
  }

  .care-time-arrow--normal {
    position: absolute;
    top: 6.6rem;
    right: 0;
    width: 11.5rem;
    height: 27.8rem;
    margin: 0;
  }
  .care-time-arrow--normal::before {
    top: 0;
    left: 0;
    right: auto;
    width: 0.2rem;
    height: calc(100% - 1rem);
    background: #555;
  }
  .care-time-arrow--normal::after {
    top: auto;
    right: auto;
    bottom: 0;
    left: -0.6rem;
    border-top: 1.2rem solid #555;
    border-right: 0.7rem solid transparent;
    border-bottom: 0;
    border-left: 0.7rem solid transparent;
  }
  .care-time-arrow--normal span {
    top: auto;
    right: auto;
    bottom: 0;
    left: 3rem;
    width: 8.5rem;
    font-size: 1.8rem;
    line-height: 1.45;
    white-space: normal;
    text-align: left;
  }
  /* =========================
     멍크린 케어
  ========================= */

  .care-time-premium {
    position: relative;
    margin-top: 5rem;
    padding-right: 14.5rem;
  }
  .care-time-premium h3 {
    margin-bottom: 1rem;
    font-size: 3.5rem;
  }
  .care-time-step-list {
    display: block;
    padding: 2.5rem;
    border-radius: 1.4rem;
    margin-top: 1rem;
  }
  .care-time-step {
    display: grid;
    grid-template-columns: 9.2rem 1fr;
    align-items: center;
    padding: 1.5rem 0;
    border: 0;
  }
  .care-time-step:not(:last-child)::after {
    display: none;
  }
  .care-time-step-icon {
    flex: none;
    width: 9.2rem;
  }
  .care-time-step-icon img {
    width: 8rem;
  }
  .care-time-step-text {
    padding-left: 2.1rem;
  }
  .care-time-step-text strong {
    font-size: 2.3rem;
  }
  .care-time-step-text p {
    margin-top: 0.6rem;
    font-size: 2.1rem;
    line-height: 1.5;
  }
  .care-time-step-text p br {
    display: none;
  }

  .care-time-arrow--premium {
    position: absolute;
    top: 5.5rem;
    right: 0;
    width: 115px;
    height: calc(100% - 55px);
    margin: 0;
    transform: none;
  }
  .care-time-arrow--premium::before {
    top: 0;
    left: 0;
    right: auto;
    width: 0.2rem;
    height: calc(100% - 1rem);
    background: var(--bs-secondary);
  }
  .care-time-arrow--premium::after {
    top: auto;
    right: auto;
    bottom: 0;
    left: -0.6rem;
    border-top: 1.2rem solid var(--bs-secondary);
    border-right: 0.7rem solid transparent;
    border-bottom: 0;
    border-left: 0.7rem solid transparent;
  }
  .care-time-arrow--premium span {
    top: auto;
    right: auto;
    bottom: 0;
    left: 3rem;
    width: 10.5rem;
    max-width: none;
    font-size: 1.7rem;
    line-height: 1.45;
    white-space: normal;
    text-align: left;
  }
}

@media screen and (max-width: 520px) {
  .care-time-title {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
    font-size: 2.7rem;
  }
  .care-time-normal h3 {
    font-size: 1.8rem;
  }
  .care-time-premium h3 {
    margin-bottom: 0.5rem;
    font-size: 1.8rem;
  }
  .care-time-box {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .care-time-normal,
  .care-time-premium {
    padding-right: 10.5rem;
  }
  .care-time-arrow--normal,
  .care-time-arrow--premium {
    width: 8.2rem;
    top: 3.5rem;
  }
  .care-time-arrow--normal span,
  .care-time-arrow--premium span {
    left: 2rem;
    width: 6.8rem;
    font-size: 1.4rem;
  }
  .care-time-normal-bar {
    min-height: 24.5rem;
    font-size: 1.4rem;
  }
  .care-time-arrow--normal {
    height: 24.5rem;
    top: 3.3rem;
  }
  .care-time-step-list {
    padding: 2rem;
  }
  .care-time-step {
    grid-template-columns: 7.2rem 1fr;
  }
  .care-time-step-icon {
    width: 7.2rem;
  }
  .care-time-step-icon img {
    width: 6.2rem;
  }
  .care-time-step-text strong {
    font-size: 1.3rem;
  }
  .care-time-step-text p {
    font-size: 1.4rem;
  }
}
/* =========================
  냄새는...
========================= */
.odor-method-section {
  padding: 90px 20px 110px;
  overflow: hidden;
  background: #fff;
}
.odor-method-inner {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}
/* =========================
   타이틀
========================= */

.odor-method-title {
  margin-bottom: 5.6rem;
  text-align: center;
}
.odor-method-title h2 {
  margin: 0;
  font-size: 5rem;
  line-height: 1.3;
  font-weight: 300;
  letter-spacing: -0.06em;
  color: #1a1a1a;
  font-family: "Paperozi";
}
.odor-method-title h2 strong {
  font-weight: 700;
  font-family: "Paperozi";
}
.odor-method-title p {
  margin: 2.5rem 0 0;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: -0.04em;
  color: #595959;
}
/* =========================
   카드
========================= */

.odor-method-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.4rem;
}
.odor-method-card {
  display: grid;
  grid-template-columns: 42% 58%;
  align-items: center;
  min-height: 30rem;
  padding: 3.4rem;
  border: 1px solid #dcdcdc;
  border-radius: 1.6rem;
  background: #f7f7f7;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}
.odor-method-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.08);
}
.odor-method-card--wrong {
  border-color: #ddd;
  background: #f8f8f8;
}
.odor-method-card--right {
  border: 2px solid var(--bs-secondary);
  background: var(--bs-white);
}
/* 이미지 */

.odor-method-image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.odor-method-image img {
  display: block;
  width: 100%;
  max-width: 23rem;
  object-fit: contain;
  transition: transform 0.45s ease;
}
.odor-method-card:hover .odor-method-image img {
  transform: scale(1.05);
}
/* 텍스트 */

.odor-method-content {
  min-width: 0;
  padding-left: 2.5rem;
}
.odor-method-label {
  display: inline-block;
  border-bottom: 2px solid currentColor;
  font-size: 3rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -0.05em;
}
.odor-method-card--wrong .odor-method-label {
  color: var(--bs-red);
}
.odor-method-card--right .odor-method-label {
  color: var(--bs-secondary);
}
.odor-method-content h3 {
  margin: 2rem 0 0;
  font-size: 2.5rem;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: -0.045em;
  color: #363636;
}
.odor-method-content p {
  margin: 1.5rem 0 0;
  font-size: 2rem;
  line-height: 1.65;
  letter-spacing: -0.04em;
  color: #595959;
}
.odor-method-content p strong {
  font-weight: 500;
  color: #000000;
}
/* =========================
   모션 전 깜빡임 방지
========================= */

.js .odor-method-title,
.js .odor-method-card {
  visibility: hidden;
}

/* =========================
   반응형
========================= */

@media screen and (max-width: 1200px) {
  .odor-method-inner {
    max-width: 110rem;
  }
  .odor-method-card {
    min-height: 28rem;
    padding: 3rem;
  }
  .odor-method-image img {
    max-width: 19rem;
  }
  .odor-method-content {
    padding-left: 2rem;
  }
  .odor-method-label {
    font-size: 2.1rem;
  }
  .odor-method-content h3 {
    font-size: 2.1rem;
  }
  .odor-method-content p {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 900px) {
  .odor-method-section {
    padding: 7rem 2rem;
  }
  .odor-method-title h2 {
    font-size: 3.8rem;
  }
  .odor-method-card {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .odor-method-image img {
    max-width: 14rem;
  }
  .odor-method-content {
    padding-left: 0rem;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .odor-method-section {
    padding: 6rem 1.5rem;
  }
  .odor-method-title {
    margin-bottom: 3rem;
  }
  .odor-method-title h2 {
    font-size: 5rem;
    line-height: 1.45;
  }
  .odor-method-title h2 strong,
  .odor-method-title h2 b {
    display: inline;
  }
  .odor-method-title p {
    margin-top: 2rem;
    font-size: 2.3rem;
    line-height: 1.4;
  }
  .odor-method-title p br {
    display: none;
  }
  .odor-method-list {
    gap: 1.5rem;
  }
  .odor-method-card {
    grid-template-columns: 13.5rem 1fr;
    min-height: 23rem;
    padding: 2.2rem;
    border-radius: 1.3rem;
  }
  .odor-method-card--right {
    border-width: 0.2rem;
  }
  .odor-method-image img {
    max-width: 12.5rem;
  }
  .odor-method-label {
    font-size: 3.5rem;
  }
  .odor-method-content h3 {
    margin-top: 0.5rem;
    font-size: 3rem;
  }
  .odor-method-content p {
    margin-top: 1rem;
    font-size: 2.3rem;
    line-height: 1.45;
  }
  .odor-method-content p br {
    display: none;
  }
}

@media screen and (max-width: 520px) {
  .odor-method-section {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .odor-method-title h2 {
    font-size: 2.7rem;
  }
  .odor-method-card {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 2rem;
    text-align: center;
  }
  .odor-method-title p {
    margin-top: 1rem;
    font-size: 1.5rem;
  }
  .odor-method-image img {
    max-width: 8.5rem;
  }
  .odor-method-content {
    padding: 2rem 0 0;
  }
  .odor-method-label {
    font-size: 1.6rem;
  }
  .odor-method-content h3 {
    font-size: 1.5rem;
  }
  .odor-method-content p {
    font-size: 1.4rem;
  }
}
/* =========================
   특수장비
========================= */

.equipment-section {
  position: relative;
  padding: 10rem 0;
  overflow: hidden;
  background: var(--bs-secondary) url(../images/equipment_bg.jpg) no-repeat center center;
  background-size: cover;
  color: var(--bs-white);
}
.equipment-section .main-title h2 {
  font-size: 6rem;
  color: var(--bs-white);
}
.equipment-section .main-title p {
  color: var(--bs-white);
}
.equipment-section__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  padding-top: 2rem;
}
.equipment-card {
  min-width: 0;
  text-align: center;
}
.equipment-card__image {
  position: relative;
  aspect-ratio: 1.7 / 1;
  overflow: hidden;
  border-radius: 1.4rem;
  background: var(--bs-white);
}
.equipment-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: inherit;
  pointer-events: none;
}
.equipment-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.equipment-card:hover .equipment-card__image img {
  transform: scale(1.04);
}
.equipment-card__content {
  padding: 2.5rem 1.5rem 0;
}
.equipment-card__content h3 {
  margin: 0;
  font-size: 3rem;
  line-height: 1.45;
  font-weight: 600;
  letter-spacing: -0.045em;
  color: var(--bs-white);
}
.equipment-card__content p {
  margin: 1.5rem 0 0;
  font-size: 2rem;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: -0.035em;
  color: var(--bs-white);
}

.js .equipment-section__title,
.js .equipment-card {
  visibility: hidden;
}

@media screen and (max-width: 1280px) {
  .equipment-card__content h3 {
    font-size: 2.2rem;
  }
  .equipment-card__content p {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 900px) {
  .equipment-section {
    padding: 8rem 0;
  }
  .equipment-section__list {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  .equipment-card {
    width: 100%;
    max-width: 68rem;
    margin: 0 auto;
  }
}

@media screen and (max-width: 800px) {
  .equipment-section .main-title h2 {
    font-size: 6rem;
  }
}

@media screen and (max-width: 768px) {
  .equipment-section {
    padding: 6.5rem 0;
  }
  .equipment-section__list {
    padding-top: 1rem;
  }
  .equipment-card__image {
    border-radius: 1rem;
  }
  .equipment-card__content {
    padding-top: 2rem;
  }
  .equipment-card__content h3 {
    font-size: 3.5rem;
  }
  .equipment-card__content p {
    margin-top: 1rem;
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 520px) {
  .equipment-section .main-title h2 {
    font-size: 3rem;
  }
  .equipment-card__image {
    aspect-ratio: 1.45 / 1;
  }
  .equipment-card__content h3 {
    font-size: 1.8rem;
  }
  .equipment-card__content p {
    font-size: 1.3rem;
  }
}
/* =========================
   청소범위
========================= */

.cleaning-range-section {
  padding: 10rem 2%;
  overflow: hidden;
  background: var(--bs-white);
}
.cleaning-range-inner {
  width: 100%;
  margin: 0 auto;
}
/* 타이틀 */

.cleaning-range-title {
  margin-bottom: 5.6rem;
  text-align: center;
}
.cleaning-range-title h2 {
  margin: 0;
  font-size: 5rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.06em;
  color: #1a1a1a;
  font-family: "Paperozi";
}
.cleaning-range-title p {
  margin: 2.5rem 0 0;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: -0.04em;
  color: #595959;
}
/* 카드 리스트 */

.cleaning-range-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
.cleaning-range-card {
  min-width: 0;
  min-height: 55rem;
  overflow: hidden;
  border: 1px solid #ddd;
  border-radius: 1.4rem;
  background: var(--bs-white);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}
.cleaning-range-card:hover {
  transform: translateY(-8px);
  border-color: var(--bs-secondary);
  box-shadow: 0 20px 45px rgba(6, 70, 127, 0.1);
}
/* 이미지 */

.cleaning-range-image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  overflow: hidden;
}
.cleaning-range-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.5s ease;
}
.cleaning-range-card:hover .cleaning-range-image img {
  transform: scale(1.04);
}
/* 내용 */

.cleaning-range-content {
  padding: 3.6rem;
}
.cleaning-range-heading {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 1.5rem;
}
.cleaning-range-heading h3 {
  flex: 0 0 auto;
  margin: 0;
  font-size: 2.7rem;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: -0.05em;
  color: var(--bs-secondary);
}
.cleaning-range-heading span {
  display: block;
  flex: 1 1 auto;
  height: 1px;
  background: var(--bs-secondary);
}
.cleaning-range-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.cleaning-range-content li {
  position: relative;
  padding-left: 1rem;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: -0.04em;
  color: #595959;
}
.cleaning-range-content li::before {
  content: "·";
  position: absolute;
  top: 0;
  left: 0;
}
.cleaning-range-content li + li {
  margin-top: 0.4rem;
}
.cleaning-range-content small {
  display: block;
  font-size: inherit;
  color: inherit;
}

.js .cleaning-range-title,
.js .cleaning-range-card {
  visibility: hidden;
}

@media screen and (max-width: 1400px) {
  .cleaning-range-list {
    gap: 1.6rem;
  }
  .cleaning-range-card {
    min-height: 52rem;
  }
  .cleaning-range-content {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
  .cleaning-range-heading h3 {
    font-size: 2rem;
  }
  .cleaning-range-content li {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 1024px) {
  .cleaning-range-section {
    padding: 8rem 1.5rem;
  }
  .cleaning-range-title h2 {
    font-size: 4rem;
  }
  .cleaning-range-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cleaning-range-card {
    min-height: 50rem;
  }
  .cleaning-range-content {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .cleaning-range-heading h3 {
    font-size: 2.3rem;
  }
  .cleaning-range-content li {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 768px) {
  .cleaning-range-section {
    padding: 6rem 1.5rem;
  }
  .cleaning-range-title {
    margin-bottom: 3rem;
  }
  .cleaning-range-title h2 {
    font-size: 7rem;
  }
  .cleaning-range-title p {
    margin-top: 1.5rem;
    font-size: 2.3rem;
  }
  .cleaning-range-list {
    gap: 1rem;
  }
  .cleaning-range-card {
    min-height: auto;
    border-radius: 1.2rem;
  }
  .cleaning-range-image {
    padding: 2.4rem 2rem 0.5rem;
  }
  .cleaning-range-content {
    padding: 1.2rem;
  }
  .cleaning-range-heading {
    margin-bottom: 1.2rem;
  }
  .cleaning-range-heading h3 {
    font-size: 3rem;
  }
  .cleaning-range-content li {
    font-size: 2.3rem;
  }
}

@media screen and (max-width: 520px) {
  .cleaning-range-section {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .cleaning-range-title h2 {
    font-size: 2.7rem;
  }

  .cleaning-range-title p {
    margin-top: 1rem;
    font-size: 1.4rem;
  }
  .cleaning-range-content {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .cleaning-range-heading h3 {
    font-size: 1.6rem;
  }
  .cleaning-range-content li {
    font-size: 1.3rem;
  }
}
/* =========================
   5단계 정밀케어
========================= */

.workflow-section {
  padding: 10rem 0;
  overflow: hidden;
  background: #eaf0f4;
}
.workflow-section .main-title h2 {
  font-size: 6rem;
}
.workflow-inner {
  width: 100%;
  margin: 0 auto;
}
/* 스텝 공통 */

.workflow-list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.workflow-step {
  padding: 6rem;
  background: var(--bs-white);
}
.workflow-step-title {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #255481;
  font-family: "Paperozi";
}
.workflow-step-title strong {
  font-size: 3.5rem;
  font-family: "Paperozi";
  color: var(--bs-secondary);
}
.workflow-step-title h3 {
  margin: 0;
  font-size: 3.5rem;
  font-weight: 700;
  letter-spacing: -0.045em;
  font-family: "Paperozi";
  color: #1a1a1a;
}
/* step 01 */
.workflow-step-body--ozone > p {
  font-size: 2rem;
  line-height: 1.4;
  margin-top: 2rem;
  color: #595959;
}
.workflow-ozone-main {
  display: grid;
  grid-template-columns: 1fr 25rem;
  gap: 3rem;
  margin-top: 3rem;
}
.workflow-ozone-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
}
.workflow-ozone-item {
  min-height: 19rem;
  padding: 2rem 1rem;
  border: 1px solid #d8e0e6;
  text-align: center;
}
.workflow-ozone-item img {
  display: block;
  width: 24.7rem;
  margin: 0 auto;
  object-fit: contain;
}
.workflow-ozone-item p {
  margin: 1rem 0 0;
  font-size: 2.2rem;
  line-height: 1.5;
  color: #1a1a1a;
}
.workflow-ozone-machine {
  display: flex;
  align-items: center;
  justify-content: center;
}
.workflow-ozone-machine img {
  display: block;
  max-width: 100%;
  object-fit: contain;
}
.workflow-step-description {
  margin: 2.4rem 0 0;
  font-size: 2rem;
  line-height: 1.45;
  color: #595959;
}
.workflow-table-image {
  margin-top: 3rem;
}
.workflow-table-image h4 {
  margin: 0 0 1rem;
  font-size: 3rem;
  font-weight: 600;
  color: #1a1a1a;
}
.workflow-table-image img {
  display: block;
  width: 100%;
}
/* 공통 이미지 + 텍스트 */

.workflow-media-row,
.workflow-detail-top {
  display: grid;
  grid-template-columns: 68% 32%;
  gap: 2.8rem;
  margin-top: 3rem;
}
.workflow-media-image img {
  display: block;
  width: 100%;
  object-fit: cover;
}
.workflow-media-text {
  padding-top: 1rem;
}
.workflow-media-text p {
  margin: 0;
  font-size: 2rem;
  line-height: 1.45;
  color: #595959;
}
.workflow-media-text p + p {
  margin-top: 2rem;
}
/* step 03 */

.workflow-detail-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.4rem;
  margin-top: 1.8rem;
}
.workflow-detail-gallery img {
  display: block;
  width: 100%;
  object-fit: cover;
}
/* step 05 */

.workflow-special-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 3rem;
}
.workflow-special-gallery img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.js .workflow-title,
.js .workflow-step {
  visibility: hidden;
}

@media screen and (max-width: 900px) {
  .workflow-section {
    padding: 7.5rem 0;
  }
  .workflow-step {
    padding: 3rem;
  }
  .workflow-ozone-main {
    margin-top: 2rem;
    gap: 1.5rem;
    grid-template-columns: 1fr 15rem;
  }
  .workflow-media-row,
  .workflow-detail-top {
    grid-template-columns: 1fr;
  }
  .workflow-ozone-item img {
    width: 14.7rem;
    max-width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .workflow-section {
    padding: 6rem 0;
  }
  .workflow-step {
    padding: 5rem;
  }
  .workflow-step-title strong {
    font-size: 3.5rem;
  }
  .workflow-step-title h3 {
    font-size: 3.5rem;
  }
  .workflow-ozone-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .workflow-ozone-item {
    min-height: auto;
    padding: 1.5rem 0.8rem;
  }
  .workflow-ozone-item p {
    font-size: 2.3rem;
  }
  .workflow-detail-gallery,
  .workflow-special-gallery {
    grid-template-columns: 1fr;
  }
  .workflow-detail-gallery img,
  .workflow-special-gallery img {
    height: auto;
  }
  .workflow-media-text p,
  .workflow-step-description {
    font-size: 2.3rem;
  }
  .workflow-table-image h4 {
    font-size: 3.5rem;
  }
}

@media screen and (max-width: 520px) {
  .workflow-section .main-title h2 {
    font-size: 3rem;
  }
  .workflow-step {
    padding: 2.5rem;
  }
  .workflow-step-body--ozone > p {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
  .workflow-ozone-main {
    margin-top: 1.5em;
    gap: 1rem;
    display: flex;
    flex-direction: column;
  }
  .workflow-ozone-main > div:first-child {
    order: 2;
  }
  .workflow-ozone-machine {
    order: 1;
  }
  .workflow-ozone-grid {
    gap: 0.5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .workflow-ozone-item img {
    width: 6.7rem;
  }
  .workflow-ozone-machine img {
    max-width: 9rem;
  }
  .workflow-step-title strong {
    font-size: 1.7rem;
  }
  .workflow-step-title h3 {
    font-size: 1.7rem;
  }
  .workflow-ozone-item p {
    font-size: 1.4rem;
  }
  .workflow-media-text p,
  .workflow-step-description {
    font-size: 1.3rem;
  }
  .workflow-table-image h4 {
    margin: 0 0 0.5rem;
    font-size: 1.8rem;
  }
}
.ozone-table-wrap {
  width: 100%;
  margin-top: 1.5rem;
}
.ozone-table {
  width: 100%;
  overflow: hidden;
}
.ozone-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  background: var(--bs-white);
}
.ozone-table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.ozone-table th,
.ozone-table td {
  border: 1px solid #dce6ed;
  text-align: center;
  vertical-align: middle;
  letter-spacing: -0.035em;
}
.ozone-table thead th {
  padding: 1rem 0.5rem;
  background: var(--bs-primary);
  font-size: 1.6rem;
  line-height: 1.45;
  font-weight: 600;
  color: var(--bs-white);
}
.ozone-table tbody th {
  padding: 1rem 0.5rem;
  background: #eff9ff;
  font-size: 1.6rem;
  line-height: 1.45;
  font-weight: 500;
  color: var(--bs-primary);
}
.ozone-table tbody td {
  padding: 1rem 0.5rem;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #595959;
}
.ozone-table sup {
  font-size: 0.7em;
  vertical-align: super;
}
/* PC 표 */

.ozone-table--pc thead th:first-child,
.ozone-table--pc tbody th {
  width: 10rem;
}
.ozone-table--pc .is-highlight-start > * {
  border-top: 3px solid var(--bs-red);
}
.ozone-table--pc .is-highlight-end > * {
  border-bottom: 3px solid var(--bs-red);
}
.ozone-table--pc .is-highlight-start > *:first-child,
.ozone-table--pc .is-highlight-end > *:first-child {
  border-left: 3px solid var(--bs-red);
}
.ozone-table--pc .is-highlight-start > *:last-child,
.ozone-table--pc .is-highlight-end > *:last-child {
  border-right: 3px solid var(--bs-red);
}
/* 모바일 표 기본 숨김 */

.ozone-table--mobile {
  display: none;
}

/* 모바일 */

@media screen and (max-width: 768px) {
  .ozone-table--pc {
    display: none;
  }
  .ozone-table--mobile {
    display: block;
  }
  .ozone-table--mobile table {
    table-layout: fixed;
  }
  .ozone-table--mobile thead th {
    padding: 1rem 0.5rem;
    font-size: 1.5rem;
  }
  .ozone-table--mobile tbody th,
  .ozone-table--mobile tbody td {
    padding: 1rem 0.5rem;
    font-size: 1.4rem;
  }
  .ozone-table--mobile thead th:nth-child(1) {
    width: 27%;
  }
  .ozone-table--mobile thead th:nth-child(2) {
    width: 17%;
  }
  .ozone-table--mobile thead th:nth-child(3) {
    width: 26%;
  }
  .ozone-table--mobile thead th:nth-child(4) {
    width: 15%;
  }
  .ozone-table--mobile thead th:nth-child(5) {
    width: 15%;
  }
  .ozone-table--mobile .is-highlight-left {
    border-left: 3px solid var(--bs-red);
  }
  .ozone-table--mobile .is-highlight-right {
    border-right: 3px solid var(--bs-red);
  }
  .ozone-table--mobile thead .is-highlight-left,
  .ozone-table--mobile thead .is-highlight-right {
    border-top: 3px solid var(--bs-red);
  }
  .ozone-table--mobile tbody tr:last-child .is-highlight-left,
  .ozone-table--mobile tbody tr:last-child .is-highlight-right {
    border-bottom: 3px solid var(--bs-red);
  }
}

@media screen and (max-width: 520px) {
  .ozone-table--mobile thead th {
    padding: 1rem 0.3rem;
    font-size: 1.3rem;
  }
  .ozone-table--mobile tbody th,
  .ozone-table--mobile tbody td {
    padding: 1rem 0.3rem;
    font-size: 1.3rem;
  }
}
/* =========================
   전문 청소 소개
========================= */
.service-intro-section {
  padding: 10rem 2% 10rem;
  overflow: hidden;
  background: var(--bs-white);
}
.service-intro-inner {
  width: 100%;
  margin: 0 auto;
}
.service-intro-title {
  margin-bottom: 4rem;
  text-align: center;
}
.service-intro-title h2 {
  margin: 0;
  font-size: 7rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.065em;
  font-family: "Paperozi";
  color: #1a1a1a;
}
.service-intro-list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
.service-intro-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 4rem 0.5rem;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: var(--bs-white);
  text-align: center;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    background-color 0.35s ease;
}
.service-intro-card:hover {
  z-index: 2;
  transform: translateY(-8px);
  background: #fbfdff;
  box-shadow: 0 20px 45px rgba(0, 84, 137, 0.1);
}
.service-intro-head {
  min-height: 105px;
}
.service-intro-head h3 {
  margin: 0;
  font-size: 2.8rem;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: -0.05em;
  color: #252525;
}
.service-intro-head p {
  margin: 1.5rem 0 0;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: -0.04em;
  color: #595959;
}
.service-intro-image {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
}
.service-intro-image img {
  display: block;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.45s ease;
}
.service-intro-card:hover .service-intro-image img {
  transform: scale(1.05);
}
.service-intro-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  min-width: 15.4rem;
  margin-top: auto;
  padding: 1rem;
  border-radius: 999px;
  text-align: center;
  background: var(--bs-primary);
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 400;
  color: var(--bs-white);
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
}
.service-intro-btn:hover {
  transform: translateY(-3px);
  background: #128bc2;
}

.js .service-intro-title,
.js .service-intro-card {
  visibility: hidden;
}

@media screen and (max-width: 1500px) {
  .service-intro-card {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .service-intro-head h3 {
    font-size: 2.3rem;
  }
  .service-intro-head p {
    font-size: 1.4rem;
  }
  .service-intro-image img {
    max-width: 20rem;
  }
  .service-intro-btn {
    min-width: 13.5rem;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1100px) {
  .service-intro-section {
    padding: 7rem 2%;
  }
  .service-intro-title {
    margin-bottom: 4.8rem;
  }
  .service-intro-title h2 {
    font-size: 6rem;
  }
  .service-intro-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 768px) {
  .service-intro-section {
    padding: 5rem 2%;
  }
  .service-intro-title {
    margin-bottom: 3rem;
  }
  .service-intro-title h2 {
    font-size: 3.2rem;
  }

  .service-intro-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service-intro-card {
    padding: 2rem 1rem;
  }
  .service-intro-head {
    min-height: 8.8rem;
  }
  .service-intro-head h3 {
    font-size: 3.5rem;
  }
  .service-intro-head p {
    margin-top: 0.5rem;
    font-size: 2.4rem;
  }
  .service-intro-head p br {
    display: none;
  }
  .service-intro-image {
    margin-top: 0.8rem;
  }
  .service-intro-image img {
    max-width: 17rem;
  }
  .service-intro-btn {
    min-width: 11.5rem;
    padding: 0.8rem 1rem;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 520px) {
  .service-intro-title {
    margin-bottom: 2rem;
  }
  .service-intro-title h2 {
    font-size: 2.7rem;
  }
  .service-intro-card {
    min-height: auto;
    padding: 3rem 2rem;
  }
  .service-intro-head h3 {
    font-size: 2rem;
  }
  .service-intro-head p {
    font-size: 1.4rem;
  }
  .service-intro-image {
    margin-top: 1rem;
  }
  .service-intro-image img {
    max-width: 14rem;
  }
  .service-intro-btn {
    min-width: 10rem;
    margin-top: 1rem;
    font-size: 1.2rem;
  }
}
/* =========================
  하단 cs 센터
========================= */
.inquiry-banner-section {
  padding: 0 2% 10rem;
  overflow: hidden;
}
.inquiry-banner-inner {
  width: 100%;
  margin: 0 auto;
}
.inquiry-banner-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
}
.inquiry-banner-card {
  position: relative;
  min-width: 0;
  padding: 7rem 4rem 4rem;
  overflow: hidden;
  isolation: isolate;
}
.inquiry-banner-card--estimate {
  background: #3e80bd;
  color: var(--bs-white);
}
.inquiry-banner-card--kakao {
  background: #f2d259;
  color: #252525;
}
.inquiry-banner-card--phone {
  background: #1d5eae;
  color: var(--bs-white);
}
.inquiry-banner-content {
  position: relative;
  z-index: 2;
  width: 58%;
}
.inquiry-banner-content h2 {
  margin: 0;
  font-size: 4.5rem;
  line-height: 1.16;
  font-weight: 300;
  letter-spacing: -0.06em;
  font-family: "Paperozi";
}
.inquiry-banner-content h2 strong {
  font-weight: 700;
  font-family: "Paperozi";
}
.inquiry-banner-content p {
  margin: 2rem 0 0;
  font-size: 1.9rem;
  font-weight: 300;
  line-height: 1.55;
  letter-spacing: -0.04em;
}
.inquiry-banner-card--estimate .inquiry-banner-content p,
.inquiry-banner-card--phone .inquiry-banner-content p {
  color: var(--bs-white);
}
.inquiry-banner-card--kakao .inquiry-banner-content p {
  color: #333333;
}
.inquiry-banner-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 22.8rem;
  margin-top: 2rem;
  padding: 1.4rem 2rem;
  border-radius: 999px;
  background: var(--bs-white);
  font-size: 1.8rem;
  line-height: 1.2;
  color: #222;
  text-decoration: none;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.inquiry-banner-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.13);
}
.inquiry-banner-btn i {
  position: relative;
  display: block;
  width: 3rem;
  height: 1.2rem;
  margin-left: 2.4rem;
}
.inquiry-banner-btn i::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2.8rem;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
.inquiry-banner-btn i::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.inquiry-banner-phone {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0px;
  width: 43%;
  height: 100%;
  pointer-events: none;
}
.inquiry-banner-phone img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  transition: transform 0.6s ease;
}
.inquiry-banner-card:hover .inquiry-banner-phone img {
  transform: translateY(-8px) scale(1.02);
}

.js .inquiry-banner-card {
  visibility: hidden;
}

@media screen and (max-width: 1450px) {
  .inquiry-banner-section {
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .inquiry-banner-card {
    padding: 5rem 3rem 3rem;
  }
  .inquiry-banner-content h2 {
    font-size: 3.4rem;
  }
  .inquiry-banner-content p {
    font-size: 1.5rem;
  }
  .inquiry-banner-btn {
    min-width: 20.5rem;
    font-size: 1.5rem;
  }
  .inquiry-banner-phone {
    right: 0;
    bottom: 0;
    width: 42%;
  }
}

@media screen and (max-width: 1100px) {
  .inquiry-banner-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .inquiry-banner-card:last-child {
    grid-column: 1 / -1;
  }
  .inquiry-banner-card:last-child .inquiry-banner-content {
    width: 52%;
  }
  .inquiry-banner-card:last-child .inquiry-banner-phone {
    width: 36%;
  }
}

@media screen and (max-width: 768px) {
  .inquiry-banner-section {
    padding: 0 0rem 8rem;
  }
  .inquiry-banner-list {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .inquiry-banner-card,
  .inquiry-banner-card:last-child {
    grid-column: auto;
    padding: 3rem 2rem;
  }
  .inquiry-banner-content,
  .inquiry-banner-card:last-child .inquiry-banner-content {
    width: 62%;
  }
  .inquiry-banner-content h2 {
    font-size: 4.5rem;
  }
  .inquiry-banner-content h2 br {
    display: none;
  }
  .inquiry-banner-content p {
    margin-top: 1.5rem;
    font-size: 2.2rem;
  }
  .inquiry-banner-btn {
    min-width: 18rem;
    margin-top: 2rem;
    padding: 1rem 2rem;
    font-size: 2.2rem;
  }
  .inquiry-banner-phone,
  .inquiry-banner-card:last-child .inquiry-banner-phone {
    right: 0;
    bottom: 0;
    width: 42%;
  }
  .inquiry-banner-btn i {
    width: 1.8rem;
    height: 1rem;
  }
  .inquiry-banner-btn i::before {
    width: 1.8rem;
  }
}

@media screen and (max-width: 520px) {
  .inquiry-banner-card {
    padding: 3rem 2rem;
  }
  .inquiry-banner-content {
    width: 66%;
  }
  .inquiry-banner-content h2 {
    font-size: 2.2rem;
  }
  .inquiry-banner-content p {
    font-size: 1.3rem;
  }
  .inquiry-banner-btn {
    min-width: 12.8rem;
    padding-right: 1.8rem;
    padding-left: 1.8rem;
    font-size: 1.3rem;
  }
  .inquiry-banner-btn i {
    width: 1.4rem;
    margin-left: 1.4rem;
  }
  .inquiry-banner-btn i::before {
    width: 1.4rem;
  }
  .inquiry-banner-btn i::after {
    width: 0.4rem;
    height: 0.4rem;
  }
  .inquiry-banner-phone {
    right: 0;
    width: 40%;
  }
}
.quick {
  position: fixed;
  z-index: 99999;
  right: 1%;
  bottom: 8%;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

@media screen and (max-width: 1024px) {
  .quick {
    bottom: auto;
    top: 1.7rem;
    right: 2%;
    flex-direction: row;
  }
  .quick img {
    width: 5rem;
    height: auto;
  }
}

@media screen and (max-width: 520px) {
  .quick img {
    width: 3rem;
  }
}

/* =========================
   입주청소
========================= */

.js .sub-clean-visual h2[data-splitting] {
  visibility: hidden;
}

.sub-clean-visual h2 .char {
  display: inline-block;
  will-change: transform, opacity;
}
/* =========================
   상단 비주얼
========================= */

.sub-clean-visual {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

.sub-clean-visual__bg {
  position: absolute;
  inset: 0;
  background: url("../images/sub_visual_move.jpg") center center / cover no-repeat;
  transform: scale(1.08);
}
.sub-clean-visual__bg.sub02 {
  background-image: url("../images/sub_visual_live.jpg");
}
.sub-clean-visual__bg.sub03 {
  background-image: url("../images/sub_visual_allergy.jpg");
}
.sub-clean-visual__bg.sub04 {
  background-image: url("../images/sub_visual_business.jpg");
}
.sub-clean-visual__bg.sub05 {
  background-image: url("../images/sub_visual_air.jpg");
}
.sub-clean-visual__bg.sub06 {
  background-image: url("../images/sub_visual_mettress.jpg");
}
.sub-clean-visual__bg.sub07 {
  background-image: url("../images/sub_visual_after.png");
}
.sub-clean-visual__bg.sub08 {
  background-image: url("../images/sub_visual_order.png");
}
.sub-clean-visual__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100vh;
  margin: 0 auto;
}
.sub-clean-visual:has(.sub07),
.sub-clean-visual:has(.sub08) {
  min-height: 40rem;
}
.sub-clean-visual__bg.sub07 + .sub-clean-visual__inner,
.sub-clean-visual__bg.sub08 + .sub-clean-visual__inner {
  min-height: 40rem;
}

.sub-clean-visual__txt {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.sub-clean-visual__category {
  display: inline-block;
  padding-bottom: 0.3rem;
  border-bottom: 0.3rem solid var(--bs-secondary);
  font-size: 5rem;
  font-weight: 700;
  color: var(--bs-secondary);
  font-family: "Paperozi";
}

.sub-clean-visual h2 {
  margin: 3rem 0 0;
  font-size: 6rem;
  line-height: 1.32;
  font-weight: 400;
  letter-spacing: -0.055em;
  color: #1a1a1a;
  font-family: "Paperozi";
}

.sub-clean-visual p {
  margin: 2.5rem 0 0;
  font-size: 2.2rem;
  line-height: 1.6;
  color: #1a1a1a;
}

.sub-clean-visual strong {
  display: inline-block;
  margin-top: 5.5rem;
  padding: 0 0.4rem 1rem;
  background: linear-gradient(transparent 45%, #bae2f1 45%);
  font-size: 3rem;
  color: #1a1a1a;
  font-weight: 600;
}

/* =========================
   전문청소 필요 이유
========================= */

.clean-reason {
  padding: 90px 0 100px;
}

.clean-reason-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.8rem;
  margin-top: 5rem;
}

.clean-reason-item {
  position: relative;
  text-align: center;
  transition: transform 0.35s ease;
}

.clean-reason-img {
  position: relative;
  overflow: visible;
  margin-bottom: 2.5rem;
}

.clean-reason-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  transform: translateY(0) scale(1);
  transform-origin: center bottom;
  transition:
    transform 0.45s ease,
    box-shadow 0.45s ease;
}

.clean-reason-item h3 {
  transition: color 0.3s ease;
  font-size: 2.5rem;
  transition: all 0.3s;
  font-weight: 500;
}

.clean-reason-item:hover .clean-reason-img img {
  transform: translateY(0) scaleY(1.05);
}

.clean-reason-item:hover h3 {
  color: var(--bs-secondary);
  font-size: 3rem;
  font-weight: 700;
  transition: all 0.3s;
}

.clean-reason-item p {
  margin: 1.2rem 0 0 0;
  font-size: 2rem;
  line-height: 1.65;
  color: #737373;
  transition: color 0.3s ease;
}
.clean-reason-item p strong {
  color: #1a1a1a;
}
/* 증상 */

.clean-symptom {
  margin-top: 10rem;
  text-align: center;
}

.clean-symptom > h3 {
  margin: 0;
  font-size: 6rem;
  font-family: "Paperozi";
  font-weight: 400;
}

.clean-symptom > h3 strong {
  font-weight: 700;
  font-family: "Paperozi";
}

.clean-symptom-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.8rem;
  margin: 4rem auto 0;
}

.clean-symptom-item {
  padding: 3rem 3rem 4.6rem;
  border: 1px solid #dcdcdc;
  border-radius: 1rem;
}

.clean-symptom-item img {
  width: 18.3rem;
  height: 18.3rem;
  object-fit: contain;
}

.clean-symptom-item p {
  margin: 1rem 0 0;
  font-size: 2.3rem;
  line-height: 1.4;
}
.clean-symptom-message1 {
  color: #595959;
  font-size: 2.2rem;
  line-height: 1.4;
  margin-top: 4rem;
}
.clean-symptom-message {
  display: inline-block;
  margin: 6rem auto 0;
  padding: 0 0.4rem 1rem;
  background: linear-gradient(transparent 45%, #d2ebf5 45%);
  font-size: 3.5rem;
  font-weight: 400;
}

.clean-symptom-message strong {
  font-weight: 700;
}

/* =========================
   전문청소 차이
========================= */

.clean-difference {
  padding: 9rem 0 10rem;
  background: #f8f8f8;
}

.clean-difference-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.8rem;
  margin-top: 5rem;
}

.clean-difference-item {
  padding: 2.5rem 1rem;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  background: var(--bs-white);
  text-align: center;
}

.clean-difference-item img {
  width: 22.5rem;
  height: 20.1rem;
  object-fit: contain;
}

.clean-difference-item h3 {
  margin: 1.5rem 0 0;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: -0.055em;
}

.clean-difference-item p {
  margin: 1.5rem 0 0;
  font-size: 2rem;
  line-height: 1.65;
  color: #737373;
}

/* =========================
   청소 범위
========================= */

.sub-clean-range {
  padding: 9rem 2% 10rem;
  background: #f8f8f8;
}

.sub-clean-range > h3 {
  margin: 0 0 4rem 0;
  font-size: 6rem;
  font-family: "Paperozi";
  font-weight: 400;
  text-align: center;
}
.sub-clean-range > h3 span {
  font-family: "Paperozi";
}
/* =========================
   CTA
========================= */

.sub-clean-cta {
  position: relative;
  overflow: hidden;
  margin-bottom: 9rem;
}

.sub-clean-cta__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(30, 26, 20, 0.48), rgba(30, 26, 20, 0.05)),
    url("../images/clean_cta.jpg") center center / cover no-repeat;
  transform: scale(1.06);
}

.sub-clean-cta__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 65.8rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sub-clean-cta h2 {
  margin: 0;
  font-size: 5.5rem;
  line-height: 1.35;
  font-weight: 400;
  color: #fff;
  font-family: "Paperozi";
}

.sub-clean-cta p {
  margin: 3rem 0 0;
  font-size: 2.5rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
}

/* =========================
   반응형
========================= */

@media (max-width: 1024px) {
  .sub-clean-visual__bg {
    background: url("../images/sub_visual_move_m.png") center center / cover no-repeat;
  }
  .sub-clean-visual__bg.sub02 {
    background-image: url("../images/sub_visual_live_m.png");
  }
  .sub-clean-visual__bg.sub03 {
    background-image: url("../images/sub_visual_allergy_m.png");
  }
  .sub-clean-visual__bg.sub04 {
    background-image: url("../images/sub_visual_business_m.png");
  }
  .sub-clean-visual__bg.sub05 {
    background-image: url("../images/sub_visual_air_m.png");
  }
  .sub-clean-visual__bg.sub06 {
    background-image: url("../images/sub_visual_mettress_m.png");
  }
  .sub-clean-visual__bg.sub07 {
    background-image: url("../images/sub_visual_after_m.png");
  }
  .sub-clean-visual__bg.sub08 {
    background-image: url("../images/sub_visual_order_m.png");
  }

  .sub-clean-visual__txt {
    left: 2%;
    top: 20rem;
    transform: translateY(0%);
  }
  .clean-reason-item h3 {
    font-size: 2.1rem;
  }

  .clean-reason-item p {
    margin: 1rem 0 0 0;
    font-size: 1.5rem;
  }
  .clean-reason-list,
  .clean-difference-list {
    grid-template-columns: repeat(3, 1fr);
  }

  .clean-symptom-list {
    grid-template-columns: repeat(3, 1fr);
  }
  .clean-symptom-item p {
    font-size: 2rem;
  }
  .clean-symptom-message {
    margin: 4rem auto 0;
    font-size: 2.7rem;
  }
  .clean-symptom-message1 {
    font-size: 1.8rem;
    margin-top: 3rem;
  }
  .clean-difference-item h3 {
    margin: 1rem 0 0;
    font-size: 2.1rem;
  }
  .clean-difference-item p {
    margin: 1.5rem 0 0;
    font-size: 1.5rem;
  }
  .sub-clean-range > h3 {
    margin: 0 0 3rem 0;
    font-size: 4rem;
  }

  .sub-clean-cta h2 {
    font-size: 3.2rem;
  }
  .sub-clean-cta p {
    margin: 2rem 0 0;
    font-size: 2rem;
  }
  .clean-symptom > h3 {
    font-size: 4.5rem;
  }
}

@media (max-width: 768px) {
  .sub-clean-visual,
  .sub-clean-visual__inner {
    min-height: 100rem;
  }
  .sub-clean-visual__txt {
    top: 17rem;
  }
  .sub-clean-visual:has(.sub07),
  .sub-clean-visual:has(.sub08) {
    min-height: 50rem;
  }
  .sub-clean-visual__bg.sub07 + .sub-clean-visual__inner,
  .sub-clean-visual__bg.sub08 + .sub-clean-visual__inner {
    min-height: 50rem;
  }

  .clean-reason-item h3 {
    font-size: 3rem;
  }
  .clean-reason-item p {
    font-size: 2.3rem;
    line-height: 1.4;
  }
  .clean-symptom-item p {
    font-size: 2.6rem;
  }
  .sub-clean-visual h2 {
    font-size: 4rem;
  }
  .clean-difference-item h3 {
    font-size: 3rem;
  }
  .clean-difference-item p {
    font-size: 2.3rem;
    line-height: 1.4;
  }
  .clean-reason-list,
  .clean-difference-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .clean-symptom-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .sub-clean-cta h2 {
    font-size: 3.5rem;
  }
}

@media (max-width: 520px) {
  .sub-clean-visual,
  .sub-clean-visual__inner {
    min-height: 65rem;
  }
  .sub-clean-visual:has(.sub07),
  .sub-clean-visual:has(.sub08) {
    min-height: 40rem;
  }
  .sub-clean-visual__bg.sub07 + .sub-clean-visual__inner,
  .sub-clean-visual__bg.sub08 + .sub-clean-visual__inner {
    min-height: 40rem;
  }

  .sub-clean-visual__txt {
    left: 1.6rem;
    right: 1.6rem;
    top: 14rem;
  }

  .sub-clean-visual__category {
    font-size: 1.8rem;
  }

  .sub-clean-visual h2 {
    font-size: 2.8rem;
    margin: 1.5rem 0 0;
  }

  .sub-clean-visual p {
    font-size: 1.3rem;
    margin: 1rem 0 0;
    line-height: 1.4;
  }
  .sub-clean-visual strong {
    margin-top: 2.5rem;
    padding: 0 0.4rem 0.5rem;
    background: linear-gradient(transparent 55%, #bae2f1 55%);
    font-size: 1.8rem;
  }
  .clean-reason {
    padding: 6.5rem 0;
  }
  .clean-symptom-list {
    margin: 2rem auto 0;
  }
  .clean-symptom-item {
    padding: 2rem;
  }

  .clean-symptom-item img {
    width: 8.3rem;
  }
  .clean-reason-img {
    margin-bottom: 1rem;
  }
  .clean-reason-item h3 {
    font-size: 1.6rem;
  }
  .clean-reason-item p {
    font-size: 1.3rem;
  }
  .clean-symptom-message {
    margin: 3rem auto 0;
    font-size: 1.8rem;
    padding: 0 0.4rem 0.5rem;
    background: linear-gradient(transparent 70%, #bae2f1 70%);
  }
  .clean-symptom-message1 {
    font-size: 1.6rem;
    margin-top: 2rem;
  }
  .clean-symptom {
    margin-top: 6rem;
  }
  .clean-symptom-item p {
    font-size: 1.4rem;
  }

  .sub-clean-range {
    padding: 5rem 2%;
  }
  .clean-difference-item img {
    width: 9.5rem;
  }
  .clean-difference-item h3 {
    font-size: 1.6rem;
  }
  .clean-difference-item p {
    font-size: 1.3rem;
    margin: 1rem 0 0;
  }
  .clean-difference-item {
    padding: 1.5rem 1rem;
  }
  .sub-clean-cta {
    margin-bottom: 4rem;
  }
  .sub-clean-cta,
  .sub-clean-cta__inner {
    min-height: 38rem;
  }
  .clean-symptom > h3 {
    font-size: 2.5rem;
  }
  .sub-clean-cta h2 {
    font-size: 2.1rem;
  }
  .clean-difference {
    padding: 5rem 0 0;
  }
  .sub-clean-range > h3 {
    margin: 0 0 2rem 0;
    font-size: 2.5rem;
  }
  .sub-clean-cta p {
    margin: 1rem 0 0;
    font-size: 1.6rem;
    line-height: 1.4;
  }
}

/* ===================================
   전문 청소가 필요한 공간
=================================== */

.pet-clean-space {
  padding: 10rem 0;
  background: #f7f7f7;
}

.pet-clean-space h3 {
  margin: 0 0 4rem 0;
  font-size: 6rem;
  font-family: "Paperozi";
  font-weight: 400;
  text-align: center;
}
.pet-clean-space h3 span {
  font-family: "Paperozi";
}
.pet-clean-space__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
}

.pet-clean-space__item {
  min-width: 0;
  text-align: center;
}

.pet-clean-space__image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 1.5rem;
}

.pet-clean-space__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.pet-clean-space__item h4 {
  margin-top: 2.2rem;
  color: #1a1a1a;
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.4;
}

@media (hover: hover) {
  .pet-clean-space__item:hover .pet-clean-space__image img {
    transform: scale(1.06);
  }
}

@media all and (max-width: 1024px) {
  .pet-clean-space {
    padding: 5rem 0%;
  }

  .pet-clean-space h3 {
    margin: 0 0 4rem 0;
    font-size: 4rem;
  }

  .pet-clean-space__list {
    gap: 1.5rem;
  }

  .pet-clean-space__item h4 {
    font-size: 2.3rem;
    margin-top: 1.2rem;
  }
}

@media all and (max-width: 768px) {
  .pet-clean-space__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 1.5rem;
  }

  .pet-clean-space__item h4 {
    margin-top: 1.3rem;
    font-size: 2.6rem;
  }
}

@media all and (max-width: 520px) {
  .pet-clean-space {
    padding: 4rem 0;
  }

  .pet-clean-space h3 {
    margin: 0 0 2rem 0;
    font-size: 2.5rem;
  }

  .pet-clean-space__list {
    gap: 2.5rem 1.2rem;
  }

  .pet-clean-space__item h4 {
    font-size: 1.5rem;
  }
}

/* ===================================
   정기 청소 추천 주기
=================================== */

.pet-clean-cycle {
  padding: 11rem 0;
}

.pet-clean-cycle h3 {
  margin: 0 0 4rem 0;
  font-size: 6rem;
  font-family: "Paperozi";
  font-weight: 400;
  text-align: center;
}
.pet-clean-cycle h3 span,
.pet-clean-cycle h3 strong {
  font-family: "Paperozi";
}

.pet-clean-cycle__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
}
.pet-clean-cycle__list.area-sm {
  grid-template-columns: repeat(3, 1fr);
}
.pet-clean-cycle__item {
  position: relative;
  display: flex;
  padding: 3rem 2rem 4rem;
  border: 1px solid #ddd;
  border-radius: 1.5rem;
  background: #fff;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.pet-clean-cycle__image {
  display: flex;
  height: 29.1rem;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 2.5rem;
}

.pet-clean-cycle__image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.4s ease;
}

.pet-clean-cycle__text h4 {
  margin-bottom: 1rem;
  color: #222;
  font-size: 2.3rem;
  font-weight: 400;
  line-height: 1.4;
  word-break: keep-all;
}

.pet-clean-cycle__text p {
  display: inline-block;
  color: var(--bs-primary);
  font-size: 2.3rem;
  font-weight: 400;
  line-height: 1.4;
  border-bottom: 1px solid var(--bs-primary);
  word-break: keep-all;
}

@media (hover: hover) {
  .pet-clean-cycle__item:hover {
    transform: translateY(-1rem);
    border-color: var(--bs-primary);
    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.07);
  }

  .pet-clean-cycle__item:hover .pet-clean-cycle__image img {
    transform: scale(1.05);
  }
}

@media all and (max-width: 1024px) {
  .pet-clean-cycle {
    padding: 6rem 0%;
  }

  .pet-clean-cycle h3 {
    font-size: 4rem;
    margin-bottom: 3rem;
  }

  .pet-clean-cycle__list,
  .pet-clean-cycle__list.area-sm {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media all and (max-width: 768px) {
  .pet-clean-cycle h3 {
    font-size: 3rem;
  }

  .pet-clean-cycle__list,
  .pet-clean-cycle__list.area-sm {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }

  .pet-clean-cycle__item {
    padding: 2.5rem 1.2rem;
  }

  .pet-clean-cycle__image {
    height: 14rem;
    margin-bottom: 1.8rem;
  }

  .pet-clean-cycle__text h4 {
    font-size: 1.5rem;
  }

  .pet-clean-cycle__text p {
    font-size: 1.5rem;
  }
}

@media all and (max-width: 520px) {
  .pet-clean-cycle {
    padding: 4rem 0;
  }

  .pet-clean-cycle h3 {
    font-size: 2.5rem;
    margin-bottom: 2rem;
  }
  .pet-clean-cycle__image {
    height: 12rem;
  }

  .pet-clean-cycle__text h4,
  .pet-clean-cycle__text p {
    font-size: 1.4rem;
  }
}

/* ==========================================
   전문 청소는 이렇게 다릅니다 - PHOTO TYPE
========================================== */

.clean-difference--photo {
  padding: 10rem 0 12rem;
  background: #f7f7f7;
}

.clean-difference--photo .area-full {
  max-width: 1200px;
  margin: 0 auto;
}

.clean-difference-before-after {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 5rem;
}

.clean-difference-photo-item {
  min-width: 0;
  text-align: center;
}

.clean-difference-photo {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1.55 / 1;
  border-radius: 1.4rem;
}

.clean-difference-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  transition: transform 0.5s ease;
}

.clean-difference-photo-item h4 {
  margin-top: 2rem;

  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
}

.clean-difference-work-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;

  margin-top: 6rem;
}

.clean-difference-work-item {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1.55 / 1;

  border-radius: 1.4rem;
}

.clean-difference-work-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  transition: transform 0.5s ease;
}

@media (hover: hover) {
  .clean-difference-photo-item:hover img,
  .clean-difference-work-item:hover img {
    transform: scale(1.04);
  }
}

@media all and (max-width: 1024px) {
  .clean-difference--photo {
    padding: 8rem 3%;
  }

  .clean-difference-before-after,
  .clean-difference-work-list {
    gap: 1.2rem;
  }

  .clean-difference-photo-item h4 {
    font-size: 2.3rem;
  }
}

@media all and (max-width: 768px) {
  .clean-difference--photo {
    padding: 7rem 1.5rem;
  }

  .clean-difference-before-after,
  .clean-difference-work-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
  }

  .clean-difference-before-after {
    margin-top: 3.5rem;
  }

  .clean-difference-work-list {
    margin-top: 3.5rem;
  }

  .clean-difference-photo,
  .clean-difference-work-item {
    border-radius: 0.8rem;
  }

  .clean-difference-photo-item h4 {
    margin-top: 1.2rem;
    font-size: 2.5rem;
  }
}

@media all and (max-width: 520px) {
  .clean-difference--photo {
    padding: 6rem 1rem;
  }

  .clean-difference-before-after,
  .clean-difference-work-list {
    gap: 0.6rem;
  }

  .clean-difference-photo-item h4 {
    font-size: 1.4rem;
  }
}

/* ==========================================
   전문 청소는 이렇게 다릅니다 - 4 PHOTO TYPE
========================================== */

.clean-difference--quad {
  padding: 10rem 0 11rem;
  background: #f7f7f7;
}

.clean-difference-quad-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 5rem;
}

.clean-difference-quad-item {
  min-width: 0;
  text-align: center;
}

.clean-difference-quad-image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 0.67 / 1;
  border-radius: 1.4rem;
}

.clean-difference-quad-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.clean-difference-quad-item h4 {
  margin-top: 1.8rem;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.4;
  color: #222;
}

@media (hover: hover) {
  .clean-difference-quad-item:hover img {
    transform: scale(1.04);
  }
}

@media all and (max-width: 1024px) {
  .clean-difference--quad {
    padding: 8rem 2%;
  }

  .clean-difference-quad-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .clean-difference-quad-item h4 {
    font-size: 2.3rem;
  }
}

@media all and (max-width: 768px) {
  .clean-difference--quad {
    padding: 7rem 1.5rem;
  }

  .clean-difference-quad-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 3.5rem;
  }

  .clean-difference-quad-image {
    border-radius: 0.8rem;
  }

  .clean-difference-quad-item h4 {
    margin-top: 1.1rem;
    font-size: 2.5rem;
  }
}

@media all and (max-width: 520px) {
  .clean-difference--quad {
    padding: 6rem 1rem;
  }

  .clean-difference-quad-list {
    gap: 0.6rem;
  }

  .clean-difference-quad-item h4 {
    font-size: 1.4rem;
  }
}

.policy * {
  line-height: 1.6;
}

.policy strong {
  color: #1a1a1a;
  font-size: 1.8rem;
}

@media all and (max-width: 520px) {
  .policy strong {
    font-size: 1.6rem;
  }
}

.comparison-grid {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  max-width: 900px;
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 10px 30px #0000000d;
}
.grid-header {
  background-color: #f1f5f9;
  border-bottom: 1px solid #e2e8f0;
  grid-template-columns: 140px 1fr 1.2fr;
  display: grid;
}
.header-cell {
  color: #475569;
  text-align: center;
  padding: 20px;
  font-size: 2rem;
  font-weight: 500;
}
.header-cell.mungclean {
  background-color: var(--bs-primary);
  color: #fff;
}
.grid-row {
  border-bottom: 1px solid #f1f5f9;
  grid-template-columns: 140px 1fr 1.2fr;
  transition: background-color 0.2s;
  display: grid;
}
.cell {
  color: #475569;
  align-items: center;
  padding: 20px;
  line-height: 1.5;
  display: flex;
}
.cell.label {
  color: #1e293b;
  text-align: center;
  background-color: #f8fafc;
  border-right: 1px solid #f1f5f9;
  justify-content: center;
  font-weight: 700;
}
.cell.general {
  text-align: center;
  white-space: pre-wrap;
  border-right: 1px solid #f1f5f9;
  justify-content: center;
}
.cell.mungclean {
  color: var(--bs-primary);
  text-align: center;
  background-color: #f0f9ff;
  justify-content: center;
  font-weight: 700;
}

@media all and (max-width: 520px) {
  .header-cell {
    padding: 10px;
    font-size: 1.6rem;
  }
  .cell {
    padding: 10px;
    font-size: 1.4rem;
  }
}

.elementor img.aligncenter {
  margin: 0 auto;
  display: block;
}

.content-view p,
.content-view h2,
.content-view h3,
.content-view h4,
.content-view h5,
.content-view h6 {
  line-height: 1.4;
  margin-bottom: 15px;
}

.content-view .thumbnail-area {
  display: none;
}
