/* Alternative solution: Use flexbox to stretch all cards to same height */
.glide__slide {
    display: flex;
    align-items: stretch; /* Stretch all slides to same height */
}

.glide_card {
    display: flex;
    box-shadow: inset 2px 2px 9.9px 0px #A9A9A940;
    box-shadow: 4px 4px 9px 0px #52525240;
    width: 100%;
    /* margin: 60px 0px; */
    opacity: 1;
    border-radius: 15px;
    padding: 35px 40px;
    gap: 35px;
    background-color: white;
    font-family: Meiryo;
    transition: all 0.3s ease;
    align-items: flex-start;
    /* Use flex to stretch to match tallest card */
    flex: 1; /* Allow cards to stretch */
    align-self: stretch; /* Stretch to match tallest card */
    /* Remove fixed height for more flexibility */
    min-height: 400px; /* Minimum height instead of fixed */
}

.glide_card .left_img {
    width: 40%;
    height: auto;
    object-fit: contain;
    border-radius: 10px;
}

.glide_card .content {
    flex: 1;
    /* Remove scroll for better UX */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* Ensure content items don't stretch */
    align-items: flex-start;
}

/* Tag container to keep them inline */
.glide_card .content > .tag {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 10px;
}

/* Tag container for multiple tags */
.glide_card .tag-container {
    display: flex;
    flex-wrap: nowrap; /* Prevent wrapping */
    gap: 8px; /* Space between tags */
    margin-bottom: 10px;
    align-items: center;
}

.glide_card .tag-container .tag {
    margin: 0; /* Remove default margins */
    flex-shrink: 0; /* Prevent shrinking */
}

.glide_card .title {
    font-size: 36px;
    font-weight: 700;
    margin: 15px 0 25px 0;
}

.glide_card .tag {
    background-color: #F39800;
    border-radius: 5px;
    padding: 5px 10px;
    color: white;
    font-weight: 700;
    font-size: 20px;
    line-height: 120%;
    display: inline-block;
    margin-bottom: 10px;
    /* Prevent tag from being stretched */
    width: fit-content; /* Use content width */
    flex-shrink: 0; /* Prevent shrinking */
    align-self: flex-start; /* Align to start, don't stretch */
    /* Keep multiple tags on same line */
    white-space: nowrap; /* Prevent text wrapping */
    margin-right: 8px; /* Space between tags */
}

.glide_card .tag:nth-child(2) {
    background-color: grey;
}

.glide_card .time {
    display: flex;
    align-items: center;
    margin-top: -15px;
    font-size: 22px;
    margin-bottom: 20px;
    /* font-weight: 400; */
}

.glide_card .time p {
    font-weight: 700;
}

.glide_card .content ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.glide_card .content ul li {
    display: flex;
    gap: 5px;
    margin-bottom: 10px;
    align-items: flex-start;
}

.glide_card .content ul li img.card {
    width: 32px;
    height: 32px;
}

.glide_card .content ul li img.index {
    width: 26.92px;
    height: 26.3px;
}

.glide_card .content ul li img.medal {
    width: 22.89px;
    height: 29.48px;
}

.glide_card .content ul li img.crown {
    width: 22px;
    height: 17.02px;
}

.glide_card .content ul li img.views {
    width: 26px;
    height: 27.9px;
}

.glide_card .content ul li img.customer_service {
    width: 21.5px;
    height: 27.70px;
}

.glide_card .content ul li img.ring {
    width: 25px;
    height: 28.62px;
}

.glide_card .content ul li img.youtube {
    width: 26px;
    height: 19.8px;
}

.glide_card .content ul li img.bag {
    width: 25.6px;
    height: 22.5px;
}

.glide_card .content ul li img.money {
    width: 24px;
    height: 31px;
}

.glide_card .content ul li .content_icon {
    width: 35px;
    flex-shrink: 0;
}

.glide_card .content ul li .content_title {
    flex: 1;
    line-height: 2;
}
.price-card {
    border-radius: clamp(15px, 4vw, 20px);
    padding: clamp(20px, 5vw, 30px);
    max-width: 100%;
    width: clamp(300px, 90vw, 500px);
    margin: 20px auto;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    border: 2px solid #dee2e6;
    position: relative;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
    box-sizing: border-box;
}

.monthly-badge {
    background: #dc3545;
    color: white;
    width: clamp(60px, 15vw, 80px);
    height: clamp(60px, 15vw, 80px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(12px, 3vw, 16px);
    font-weight: bold;
    position: absolute;
    left: clamp(15px, 5vw, 35px);
    top: clamp(15px, 4vw, 50px);
    box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3);
}

.price-content {
    margin-left: clamp(90px, 22vw, 120px);
    display: flex;
    align-items: flex-end;
    gap: clamp(4px, 1.5vw, 8px);
}

.price-main {
    font-size: clamp(48px, 12vw, 72px);
    font-weight: 900;
    color: #dc3545;
    line-height: 1;
}

.price-right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    white-space: nowrap;
}

.tax-label {
    font-size: clamp(14px, 3.5vw, 18px);
    color: #dc3545;
    font-weight: normal;
    margin-bottom: 2px;
}

.currency {
    font-size: clamp(24px, 6vw, 32px);
    color: #dc3545;
    font-weight: bold;
}

.payment-note {
    margin-top: clamp(15px, 4vw, 20px);
    font-size: clamp(11px, 2.5vw, 13px);
    color: #6c757d;
    text-align: left;
    margin-left: clamp(90px, 22vw, 120px);
    line-height: 1.4;
}

/* Large screen optimization */
@media (min-width: 1200px) {
    .price-card {
        width: 550px;
    }
}