/* --------------------------------------------------

    2025　JRAカード・ポイントプログラム

-------------------------------------------------- */



/* - レイアウト
-------------------------------------------------- */

.section {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--mt14_24);
}

.heading-underline+.heading-simple.green {
    margin-top: 0;
}

.section .heading-leftline {
    margin-top: clamp(0.4rem, -13.7873rem + 18.4971vw, 3.6rem);
}


/* - カルーセル
-------------------------------------------------- */
.section.slider {
    display: block;
}

.section.slider > *:nth-child(n+1){
    margin-top: var(--mt14_24);
}


#card_list {
    padding: 32px 64px 24px;
    padding-right: 0;
    position: relative;
    border-radius: clamp(2.8rem, 2.1806rem + 1.9355vw, 4rem);
    width: 100%;
    margin-inline: auto;
}



/**
 * Swiper 4.5.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 13, 2019
 */
.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
}


.swiper-wrapper {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: auto auto;
    grid-auto-columns: clamp(196px, 12.0336rem + 20.1770vw, 310px);
    gap: 0;
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition-property: transform;
    box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0, 0, 0);
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
}


.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 27px;
    height: 44px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    background-size: 27px 44px;
    background-position: center;
    background-repeat: no-repeat;
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    left: 10px;
    right: auto;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    right: 10px;
    left: auto;
}


.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 0.3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%;
}


.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    background: #000;
    opacity: 0.2;
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #007aff;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px;
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    touch-action: none;
    background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%;
}


.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    left: 0;
    top: 0;
}

.swiper-scrollbar-cursor-drag {
    cursor: move;
}


.swiper-container,
.swiper-wrapper {
    overscroll-behavior: contain;
    /* または none */
    -webkit-overflow-scrolling: auto;
    /* iOS対策 */
}

/* カスタムスワイプ設定
  ---------------------------------------------------------------------- */
.swiper_area {
    padding-left: 8px;
    padding-right: 0;
    padding-bottom: calc(16px + 8px);
    width: 100%;
    position: relative;
    overflow: hidden;
}

.swiper_area.is-swiper {
    padding-bottom: calc(36px + 16px + 8px);
}

.swiper_area .swiper-slide {
    width: 310px;
    width: clamp(196px, 12.0336rem + 20.1770vw, 310px);
}

.swiper_area .swiper-slide .swiper_item {
    padding-top: 32px;
    padding-right: 40px;
}

.swiper_area .swiper-slide .swiper_item img {
    max-width: 100%;
}

.swiper_area .swiper-slide {
    text-decoration: none;
    color: #333333;
}

.swiper_area .swiper-slide .cap {
    padding-top: 16px;
    padding-top: clamp(0.8rem, 0.2690rem + 1.4159vw, 1.6rem);
    transition: all 0.3s ease-in-out;
    text-align: center;
    font-size: clamp(1.2rem, 1.0673rem + 0.3540vw, 1.4rem);
    font-weight: bold;
    min-height: 54px;
    color: var(--color-white);
}

.swiper_area .swiper-slide .cap span {
    display: block;
}

.swiper_area .swiper-slide .cap i {
    color: inherit;
}

.swiper_area .swiper-slide .img {
    border-radius: 10px;
    box-shadow: 0px 0px 30px rgb(from var(--main-color) r g b / 30%);
}

.swiper_area .swiper-slide .img img {
    overflow: hidden;
    border-radius: 10px;
}

.swiper_area .row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: clamp(24px, 1.6035rem + 2.1239vw, 36px);
}

.swiper_area .row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
}

.swiper_area .row .col {
    flex: 1 0 0%;
}

/* swiper ナビ
  ---------------------------------------------------------------------- */
.swiper_area .nav-contents {
    width: calc(100% - 64px);
    position: absolute;
    bottom: 8px;
    left: 8px;
}

.swiper_area .nav-contents .nav-button {
    text-align: right;
    max-width: calc(36px * 2);
}

.swiper_area .nav-contents .nav-button .swiper-button-next,
.swiper_area .nav-contents .nav-button .swiper-button-prev {
    width: clamp(24px, 1.6035rem + 2.1239vw, 36px);
    height: clamp(24px, 1.6035rem + 2.1239vw, 36px);
    border-radius: 18px;
    background: #fff;
    color: #007853;
    z-index: 10;
    cursor: pointer;
    display: block;
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    margin-top: 0;
}


.swiper_area .nav-contents .nav-button .swiper-button-next i,
.swiper_area .nav-contents .nav-button .swiper-button-prev i {
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    font-size: clamp(1.2rem, 0.8018rem + 1.0619vw, 1.8rem);
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-left: 0;
}

/* swiper  スクロール*/

.swiper_area .nav-contents .nav-scroll .swiper-scrollbar {
    border-radius: 10px;
    height: 11px;
    position: relative;
    -ms-touch-action: none;
    touch-action: none;
    background: rgba(0, 0, 0, 0.1);
}

.swiper_area .nav-contents .swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper_area .nav-contents .swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important;
}

.swiper_area .nav-contents .swiper-horizontal>.swiper-scrollbar,
.swiper_area .nav-contents .swiper-scrollbar.swiper-scrollbar-horizontal {
    z-index: 50;
    height: 11px;
    width: 98%;
}

.swiper_area .nav-contents .swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    left: 0;
    top: 0;
}

.swiper_area .nav-contents .swiper-scrollbar-cursor-drag {
    cursor: move;
}

.swiper_area .swiper-notification {
    position: absolute;
    left: 0px;
    top: 0px;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
}

/* キャンペーン・イベント
  ---------------------------------------------------------------------- */
#card_list {
    background: var(--main-color);
    color: var(--color-white);
}

#card_list .swiper_area .swiper-slide a {
    color: var(--color-white);
}

#card_list .swiper_area .swiper-scrollbar {
    background: var(--color-gray);
}

#card_list .swiper_area .swiper-scrollbar-drag {
    background: var(--color-white);
}

.years img{
    width: 100%;
    max-width: 720px;
}

/* ------------------------------------------------------------

	767px以下

------------------------------------------------------------ */
@media screen and (max-width : 767px) {

    /* - カルーセル
    -------------------------------------------------- */
    #contents {
        container-type: inline-size;
    }

    #card_list {
        width: 100cqw;
        border-radius: 0;
        padding: 6px 0 16px 8px;
        margin-inline: calc(50% - 50cqw);
    }

    .swiper_area .swiper-slide .swiper_item {
        padding-top: 18px;
        padding-right: 16px;
    }

    .swiper_area .nav-contents {
        width: calc(100% - 32px);
    }

}