@media(max-width: 1600px) {
    header {
        padding-inline: 150px;
    }
}
@media(max-width: 1440px) {
    header {
        padding-inline: 50px;
    }
    .swiper-points {
        max-width: 1280px; 
    }
    .partner-logo .swiper {
        max-width: 1280px; 
    }
}
@media(max-width: 1280px) {
    .phone-info {
        display: none;
    }
    .pc-main-copy {
        width: 60%;
    }
    .pc-main-copy h1{
        font-size: 70px;
        ;
    }
    .swiper-points {
        max-width: 1080px; 
    }
    .step-group {
        flex-wrap: wrap;
    }
    .partner-logo .swiper {
        max-width: 1080px; 
    }
}
@media(max-width: 1080px) {
    nav {
        display: none;
    }
    .hamburger-menu {
        display: flex;
        padding-inline: 20px;
        justify-content: center;
    }
    .top-cta {
        padding-inline: 20px;
    }
    .hero {
        padding-bottom: 50px;
    }
    .pc-main-copy {
        justify-content: flex-end;
        align-items: baseline;
        width: 100%;
    }
    .swiper-points {
        max-width: 875px; 
    }
    .partner-logo .swiper {
        max-width: 875px; 
    }
}


@media(max-width: 875px) {
    .price-display img {
        display: none;
    }
    .swiper-points {
        max-width: 640px; 
    }
    .partner-logo .swiper {
        max-width: 640px; 
    }
} 

@media(max-width: 640px) {
    header {
        height: 60px;
        padding-inline: 20px;
    }
    .logo img{
        height: 60px;
    }
    .top-cta {
        height: 60px;
        padding-inline: 20px;
    }
    .top-cta a {
        font-size: 18px;
    }
    .pc-main-copy {
        display: none;
    }
    .sp-main-copy {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-end;
        text-align: center;
    }
    .sp-main-copy p {
        font-size: 64px;
        width: 100%;
        padding-block: 20px;
        color: #ffffff;
        background: rgba(0, 0, 0, 0.5);
        font-weight: 700;
        letter-spacing: 2.5px;
        margin-bottom: 100px;
    }
    .hero {
        padding: 0;
        height: calc(100vh - 60px);
        background-position: -1200px;
    }
    .form-layout {
        padding-inline: 50px;
    }
    .form-title h2 {
        font-size: 32px;
    }
    .mySwiper {
        height: 320px;
    }
    .swiper-points {
        max-width: 480px; 
    }
    .partner-logo .swiper {
        max-width: 480px; 
    }
    .overlay {
        margin-top: 60px !important;
    }
}

@media(max-width: 480px) {
    .sp-main-copy p {
        font-size: 48px;
        padding-block: 10px;
    }
    .hamburger-menu img {
        width: 30px;
        height: 30px;
    }
    .phone-text {
        font-size: 12px;
    }
    .top-cta {
        display: none;
    }
    header {
        padding: 0;
    }
    .form-layout {
        padding-inline: 0px;
    }
    .swiper-slide img {
        width: 350px;
    }
    .swiper {
        width: 100%;
    }
    .point-group {
        padding-block: 80px;
    }
    .swiper-points {
        height: 320px;
    }
    .swiper-points {
        max-width: 350px; 
    }
    .flow-container {
        padding-inline: 10px;
    }
    .info-card img {
        width: 100%;
    }
    .partner-logo .swiper {
        max-width: 350px; 
    }
    .step-item img {
        width: 300px;
    }
    .cta-button-middle {
        width: 70%;
        padding: 5px;
    }
    .form-title h2 {
        font-size: 22px;
    }
}

/* Show hamburger on small screen */
@media (max-width: 1028px) {
  nav,
  .cta-info .call,
  .cta-info .top-cta {
    display: none;
  }
  .hamburger-menu {
    display: block;
  }
}

/* Initial state: hidden and slightly moved down */
.hero,
.badge-group,
.price-form,
.swiper,
.point-group,
.flow,
.faq-section,
.info-section,
.slide-background,
.news-section,
.partner-logo,
.footer-section {
  opacity: 0;
  transform: translateY(60px);
  transition: all 0.8s ease-out;
}

/* Revealed state */
.hero.show,
.badge-group.show,
.price-form.show,
.swiper.show,
.point-group.show,
.flow.show,
.faq-section.show,
.info-section.show,
.slide-background.show,
.news-section.show,
.partner-logo.show,
.footer-section.show {
  opacity: 1;
  transform: translateY(0);
}