/* section-hero.php — .hero-section, .card-slider--hero, .hero-card, .topic */

/* --- ヒーローセクション --- */
.hero-section {
    padding: 27px 0 34px;
    margin-bottom: 40px;
    background-color: #fff;
}
.hero {
    position: relative;
    z-index: 2;
    margin: 0 auto 33px;
    width: 257px;
}
.hero__image {
    transform: translateX(8px);
}
.card-slider--hero .slider-btn {
    top: 92px;
    bottom: auto;
}
.card-slider--hero .swiper-slide:nth-child(odd) .hero-card__title::after {
    background-image: var(--img-hero-card-icon-1);
    top: -18px;
    right: -13px;
    width: 29px;
    height: 29px;
}
.card-slider--hero .swiper-slide:nth-child(even) .hero-card__title::after {
    background-image: var(--img-hero-card-icon-2);
    top: -11px;
    right: -24px;
    width: 29px;
    height: 26px;
}
.hero-card {
    display: block;
}
.hero-card__image {
    aspect-ratio: 196/152;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.hero-card__title {
    text-align: center;
    padding: 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 130%;
    margin: 0 auto;
    width: fit-content;
    position: relative;
}
.hero-card__title::after {
    content: "";
    display: block;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
}
.topic__title {
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 140%;
    display: block;
    background-color: #000;
    padding: 2px 6px;
    width: fit-content;
    margin-bottom: -9px;
    position: relative;
    margin-left: 16px;
}
.topic__ticker {
    background-color: #FFF4EA;
    padding: 13px 0;
    overflow: hidden;
    width: 100%;
}
.topic__ticker-track {
    display: flex;
    width: max-content;
    animation: ticker 20s linear infinite;
}
.topic__ticker-item {
    display: flex;
    align-items: center;
    font-size: 13px;
    line-height: 140%;
    gap: 16px;
    white-space: nowrap;
    padding-right: 32px;
}
.topic__ticker-item p {
    margin: 0;
}
@keyframes ticker {
    from { transform: translateX(0%); }
    to { transform: translateX(-50%); }
}
