main > div > div > div > section:has(.cms_hp_main) { padding-top: 0 !important; }
.cms_hp_main { display: flex; flex-direction: column; width: 100%; }
@media screen and (min-width: 1201px) { .cms_hp_main { height: calc(100dvh - 184px); } }
@media screen and (min-width: 960px) and (max-width: 1200px) { .cms_hp_main { height: calc(100dvh - 140px); } }
@media screen and (max-width: 959px) { .cms_hp_main { height: calc(100dvh - 245px); } }
#hpSwiper { flex: 1; }
.cms_hp_box { position: relative; width: 100%; }
.cms_hp_box > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hpSwiper-pagination { position: absolute; z-index: 1 !important; inset: auto 0 23px 0 !important; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 7px; width: 100% !important; }
.hpSwiper-pagination .swiper-pagination-bullet { width: 8px; height: 8px; background: var(--white); margin: 0 !important; opacity: 0.6; transition: var(--transition); will-change: transform; }
.hpSwiper-pagination .swiper-pagination-bullet:hover,
.hpSwiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active { transform: scale(1.25); background: var(--white); opacity: 1; }
.cms_hp_text { width: 100%; padding: 50px 30px; }
.cms_hp_text h1 { padding: 0; margin: 0 0 -10px 0; }
@media screen and (max-width: 959px) {
    .hpSwiper-pagination { inset: auto 0 10px 0 !important; }
    .cms_hp_text { padding: 46px 30px 17px 30px; }
    .cms_hp_text h1 { margin: 0; }
}