@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
/* ---------------------------------------------
*   l-contents-wrap
--------------------------------------------- */
.l-contents-wrap {
    padding-bottom: 165px;
}
@media screen and (max-width: 767px) {
    .l-contents-wrap {
        padding-bottom: 120px;
    }
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    padding-top: calc(var(--fixed-header-height) * 1px);
}

/* ---------------------------------------------
*   l-bg-black
--------------------------------------------- */
.l-bg-black {
    padding-block: 80px 165px;
    margin-block: 0 -165px;
    background-color: rgba(var(--color-black-1-rgb), 0.5);
}

/* ---------------------------------------------
*   l-breadcrumb
--------------------------------------------- */
.l-breadcrumb {
    padding-block: 16px;
    background-color: var(--color-white-1);
}
.l-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0em 1.4em;
}
@media screen and (max-width: 767px) {
    .l-breadcrumb__list {
        gap: 0px 21px;
    }
}
.l-breadcrumb__item {
    position: relative;
}
.l-breadcrumb__item:not(:last-of-type) .l-breadcrumb__txt::after {
    content: "/";
    position: absolute;
    top: 50%;
    right: -1.2em;
    color: var(--color-base-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
    transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
    .l-breadcrumb__item:not(:last-of-type) .l-breadcrumb__txt::after {
        top: 45%;
        font-size: 12px;
        right: -14px;
    }
}
.l-breadcrumb__item a {
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-breadcrumb__item a:hover {
        text-decoration: underline;
    }
}
.l-breadcrumb__item span {
    color: var(--color-red-1);
}
.l-breadcrumb__txt {
    position: relative;
    display: inline-block;
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .l-breadcrumb__txt {
        font-size: 12px;
    }
}

/*  .l-footer-pagetop
--------------------------------------------- */
.l-footer-pagetop {
    position: absolute;
    bottom: 40px;
    right: calc(var(--contents-side-padding) / var(--design-width) * 100%);
    z-index: 1001;
}
.l-footer-pagetop__link {
    display: grid;
    place-items: center;
    width: 60px;
    aspect-ratio: 1/1;
}
@media (hover: hover) and (pointer: fine) {
    .l-footer-pagetop__link {
        overflow: visible !important;
    }
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-footer-pagetop__link {
        overflow: hidden;
    }
    .l-footer-pagetop__link img {
        backface-visibility: hidden;
        transform: translate3d(0, 0, 0);
        will-change: transform;
        transition: transform var(--hover-duration) cubic-bezier(0, -0.09, 0.1, 0.93);
        transform-origin: center center;
    }
    .l-footer-pagetop__link:hover img {
        transform: scale(var(--hover-transform-ratio));
    }
}
@media screen and (max-width: 767px) {
    .l-footer-pagetop__link {
        width: 40px;
    }
}

/* ---------------------------------------------
*   c-block-1
--------------------------------------------- */
.c-block-1 {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .c-block-1 {
        display: block;
    }
}
.c-block-1 + .c-block-1 {
    margin-top: 40px;
}
.c-block-1 + hr {
    margin-bottom: 40px;
}
.c-block-1__fig {
    display: block;
    flex-shrink: 0;
    width: 300px;
}
@media screen and (max-width: 767px) {
    .c-block-1__fig {
        width: 100%;
    }
}
.c-block-1__fig img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-block-1__contents {
    margin-top: 5px;
    width: 100%;
}
@media screen and (max-width: 767px) {
    .c-block-1__contents {
        margin-top: 30px;
    }
}
.c-block-1__sns {
    margin-top: 16px;
}
.c-block-1__sub {
    margin-top: 5px;
}
.c-block-1__birth {
    color: var(--color-gray-1) !important;
    margin-top: 18px;
}
@media screen and (max-width: 767px) {
    .c-block-1__birth {
        margin-top: 16px;
    }
}
.c-block-1__txt {
    margin-top: 24px;
}
.c-block-1__list {
    margin-top: 24px;
}
.c-block-1__term {
    color: var(--color-white-1);
    display: block;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
}

/* ---------------------------------------------
*   c-box-1
--------------------------------------------- */
.c-box-1 {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: calc(24 / var(--contents-width) * 100%);
    column-gap: calc(24 / var(--contents-width) * 100%);
    row-gap: 24px;
}
@media screen and (max-width: 767px) {
    .c-box-1 {
        grid-template-columns: repeat(1, 1fr);
    }
}
@media screen and (max-width: 767px) {
    .c-box-1__item + .c-box-1__item {
        row-gap: 40px;
    }
}
.c-box-1__fig {
    display: block;
}
.c-box-1__fig img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-box-1__logo {
    display: block;
    width: calc(368 / 625 * 100%);
    margin-inline: auto;
}
@media screen and (max-width: 767px) {
    .c-box-1__logo {
        width: calc(458 / 625 * 100%);
    }
}
.c-box-1__logo img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-box-1__logo--gt {
    width: calc(179 / 625 * 100%);
}
@media screen and (max-width: 767px) {
    .c-box-1__logo--gt {
        width: calc(127 / 625 * 100%);
    }
}
.c-box-1__logo--wsb {
    width: calc(500 / 625 * 100%);
}
@media screen and (max-width: 767px) {
    .c-box-1__logo--wsb {
        width: 100%;
    }
}
.c-box-1__logo--jrr {
    width: calc(360 / 625 * 100%);
}
@media screen and (max-width: 767px) {
    .c-box-1__logo--jrr {
        width: 100%;
    }
}
.c-box-1__caption {
    display: block;
    text-align: center;
    margin-top: 24px;
    font-size: 32px;
    font-weight: bold;
    color: var(--color-white-1);
}
@media screen and (max-width: 767px) {
    .c-box-1__caption {
        margin-top: 16px;
        font-size: 22px;
    }
}
.c-box-1__caption--small {
    margin-block: 16px 40px;
    font-size: 22px;
}
@media screen and (max-width: 767px) {
    .c-box-1__caption--small {
        margin-block: 16px 24px;
    }
}
@media screen and (max-width: 767px) {
    .c-box-1__inner {
        margin-top: 24px;
    }
}
.c-box-1__txt {
    margin-top: 40px;
}
@media screen and (max-width: 767px) {
    .c-box-1__txt {
        margin-top: 24px;
    }
}

/* ---------------------------------------------
*   c-btn-1
--------------------------------------------- */
.c-btn-1 {
    padding: 10px 8px 8px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-white-1);
    font-size: 0;
    text-align: center;
    border: 1px solid var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-1 {
        transition: background-color 0.3s, border 0.3s;
    }
    .c-btn-1:hover {
        background-color: var(--color-white-1);
        color: var(--color-black-1);
    }
}
.c-btn-1__txt {
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 600;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .c-btn-1__txt {
        font-size: 16px;
        line-height: 1.5;
    }
}
.iphone .c-btn-1__txt {
    margin-top: -2px;
}

.c-btn-1--wide {
    padding: 23px 8px;
}
.c-btn-1--icon {
    position: relative;
    padding: 10px 30px 8px;
    height: 100%;
}
.c-btn-1--icon::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    display: block;
    width: 12px;
    aspect-ratio: 1/1;
    background: url(/jp/motorsports/assets/images/common/icon_arrow-ltr-wh.png) 0 0 no-repeat;
    background-size: 100% auto;
    transform: translateY(-50%) rotate(90deg);
}
.c-btn-1--icon::after:lang(en) {
    background: url(/en/motorsports/assets/images/common/icon_arrow-ltr-wh.png) 0 0 no-repeat;
    background-size: 100% auto;
}
@media (hover: hover) and (pointer: fine) {
    .c-btn-1--icon:hover::after {
        background: url(/jp/motorsports/assets/images/common/icon_arrow-ltr-bk.png) 0 0 no-repeat;
        background-size: 100% auto;
        transform: translateY(-50%);
    }
    .c-btn-1--icon:hover::after:lang(en) {
        background: url(/en/motorsports/assets/images/common/icon_arrow-ltr-bk.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
}

/* ---------------------------------------------
*   c-card-column
--------------------------------------------- */
.c-card-column {
    display: grid;
    grid-template-rows: 1fr;
}
.c-card-column--2col {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: calc(32 / var(--contents-width) * 100%);
    column-gap: calc(32 / var(--contents-width) * 100%);
    -moz-row-gap: 40px;
    row-gap: 40px;
}
@media screen and (max-width: 767px) {
    .c-card-column--2col {
        grid-template-columns: repeat(1, 1fr);
    }
}
.c-card-column--3col {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: calc(40 / var(--contents-width) * 100%);
    column-gap: calc(40 / var(--contents-width) * 100%);
    -moz-row-gap: 40px;
    row-gap: 40px;
}
@media screen and (max-width: 767px) {
    .c-card-column--3col {
        grid-template-columns: repeat(1, 1fr);
    }
}
.c-card-column--4col {
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: calc(16 / var(--contents-width) * 100%);
    column-gap: calc(16 / var(--contents-width) * 100%);
    -moz-row-gap: 16px;
    row-gap: 16px;
}
@media screen and (max-width: 767px) {
    .c-card-column--4col {
        grid-template-columns: repeat(1, 1fr);
    }
}
.c-card-column .c-card-1__inner {
    position: relative;
    padding-block: 0 20px;
}
.c-card-column .c-card-1__date {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0;
}
.c-card-column .c-tag-1 {
    max-width: calc(100% - 6.25rem);
}

/* ---------------------------------------------
*   c-card-1
--------------------------------------------- */
.c-card-1__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-1__link .c-card-1__fig img {
        transition: transform 0.3s cubic-bezier(0, -0.09, 0.1, 0.93);
        transform-origin: center center;
    }
    .c-card-1__link:hover .c-card-1__fig img {
        transform: scale(1.02);
    }
    .c-card-1__link:hover .c-card-1__ttl {
        text-decoration: underline;
    }
}
.c-card-1__link[target=_blank] {
    position: relative;
}
.c-card-1__link[target=_blank]::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    background: url(/jp/motorsports/assets/images/common/icon_outlink-gray.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 20px;
    aspect-ratio: 1/1;
}
.c-card-1__fig {
    display: block;
    width: 100%;
    aspect-ratio: 617/411.33;
    overflow: hidden;
    flex-shrink: 0;
}
.c-card-1__fig img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
}
.c-card-1__ttl {
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--color-white-1);
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.1818181818;
    margin-top: 12px;
}
@media screen and (max-width: 767px) {
    .c-card-1__ttl {
        font-size: 16px;
        line-height: 1.5;
        margin-top: 6px;
    }
}
@media screen and (max-width: 767px) {
    .c-card-1__ttl--spLarge {
        font-size: 22px;
        line-height: 1.1818181818;
        margin-top: 15px;
    }
}
.c-card-1__date {
    display: block;
    color: var(--color-gray-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    margin-top: 16px;
}
@media screen and (max-width: 767px) {
    .c-card-1__date {
        font-size: 14px;
    }
}
@media screen and (max-width: 767px) {
    .c-card-1__date--spLarge {
        font-size: 16px;
        line-height: 1.5;
        margin-top: 19px;
    }
}
.c-card-1--main .c-card-1__inner {
    margin-top: 24px;
}
.c-card-1--sub .c-card-1__link {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: calc(24 / 617 * 100%);
}
@media screen and (max-width: 767px) {
    .c-card-1--sub .c-card-1__link {
        gap: calc(16 / var(--contents-width) * 100%);
    }
}
.c-card-1--sub .c-card-1__fig {
    width: calc(190 / 617 * 100%);
}
@media screen and (max-width: 767px) {
    .c-card-1--sub .c-card-1__fig {
        width: calc(171 / var(--contents-width) * 100%);
    }
}
.c-card-1--sub .c-card-1__inner {
    width: calc(404 / 617 * 100%);
}
@media screen and (max-width: 767px) {
    .c-card-1--sub .c-card-1__inner {
        width: calc(171 / var(--contents-width) * 100%);
    }
}
.c-card-1--sub .c-card-1__tag {
    padding-left: 21px;
}
.c-card-1--sub .c-card-1__tag::before {
    left: -0.8px;
}
.c-card-1--sub .c-card-1__date {
    margin-top: 13px;
}

/* ---------------------------------------------
*   c-card-2
--------------------------------------------- */
/*  c-card-2-wrap
--------------------------------------------- */
.c-card-2-wrap {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
@media screen and (max-width: 767px) {
    .c-card-2-wrap {
        display: block;
    }
}
.c-card-2-wrap__item {
    flex-shrink: 0;
    width: calc(617 / var(--contents-width) * 100%);
}
@media screen and (max-width: 767px) {
    .c-card-2-wrap__item {
        width: 100%;
    }
    .c-card-2-wrap__item + .c-card-2-wrap__item {
        margin-top: 32px;
    }
}

/*  c-card-2
--------------------------------------------- */
.c-card-2__link {
    position: relative;
    display: block;
    height: 100%;
}
@media (hover: hover) and (pointer: fine) {
    .c-card-2__link .c-card-2__fig img {
        transition: transform 0.3s cubic-bezier(0, -0.09, 0.1, 0.93);
        transform-origin: center center;
    }
    .c-card-2__link:hover .c-card-2__fig img {
        transform: scale(1.02);
    }
}
.c-card-2__fig {
    overflow: hidden;
    aspect-ratio: 617.5/347.34;
}
@media screen and (max-width: 767px) {
    .c-card-2__fig {
        aspect-ratio: 358/201.38;
    }
}
.c-card-2__fig img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
}
.c-card-2__bg {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 5px 24px;
    width: 100%;
    min-height: 75px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    background-color: rgba(0, 0, 0, 0.7);
}
@media screen and (max-width: 767px) {
    .c-card-2__bg {
        padding: 16px;
        min-height: 59px;
    }
}
.c-card-2__ttls {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 16px;
    color: var(--color-white-1);
    font-weight: bold;
}
.c-card-2__ttl {
    font-size: calc(22 / var(--root-fz) * 1rem);
    line-height: 1.1818181818;
}
@media screen and (max-width: 767px) {
    .c-card-2__ttl {
        font-size: 18px;
        line-height: 1.5;
    }
}
.c-card-2__ttl-small {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-card-2__ttl-small {
        font-size: 14px;
        line-height: 1.5;
    }
}
.c-card-2__arrow {
    display: block;
    width: calc(21 / var(--root-fz) * 1rem);
    aspect-ratio: 1/1;
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .c-card-2__arrow {
        width: 20px;
    }
}

/* ---------------------------------------------
*   c-card-3
--------------------------------------------- */
.c-card-3 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}
@media screen and (max-width: 767px) {
    .c-card-3 {
        display: block;
    }
}
.c-card-3__picture {
    display: block;
    width: calc(152 / 488 * 100%);
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .c-card-3__picture {
        max-width: 109px;
        width: calc(109 / var(--contents-width) * 100%);
    }
}
.c-card-3__picture img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
@media screen and (max-width: 767px) {
    .c-card-3__top {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 16px;
    }
}
.c-card-3__name {
    margin-top: 9px;
}
.c-card-3__txt {
    margin-top: 12px;
}
@media screen and (max-width: 767px) {
    .c-card-3__txt {
        margin-top: 16px;
    }
}

/* ---------------------------------------------
*   c-cassette-1
--------------------------------------------- */
.c-cassette-1 {
    margin-top: 24px;
    padding: 32px;
    background-color: rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 767px) {
    .c-cassette-1 {
        padding: 19px 16px 16px;
    }
}
.c-cassette-1__body {
    margin-top: 24px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
}
@media screen and (max-width: 1024px) {
    .c-cassette-1__body {
        flex-direction: column;
    }
}
.c-cassette-1__fig {
    flex-shrink: 0;
    width: 49.0503715937%;
}
@media screen and (max-width: 1024px) {
    .c-cassette-1__fig {
        width: 100%;
    }
}
.c-cassette-1__contents-ttl:nth-of-type(n+2) {
    margin-top: 40px;
}

/* ---------------------------------------------
*   c-cassette-2
--------------------------------------------- */
.c-cassette-2__body {
    margin-top: 40px;
}

/* ---------------------------------------------
*   c-cassette-3
--------------------------------------------- */
.c-cassette-3 {
    margin-top: 40px;
}
.c-cassette-3__body {
    margin-top: 24px;
}
.c-cassette-3__foot {
    margin-top: 80px;
}

/* ---------------------------------------------
*   c-cassette-4
--------------------------------------------- */
.c-cassette-4 + .c-cassette-4 {
    margin-top: 24px;
}
.c-cassette-4__body {
    margin-top: 16px;
}
.c-cassette-4__foot {
    margin-top: 40px;
}

/* ---------------------------------------------
*   c-cassette-5
--------------------------------------------- */
.c-cassette-5 + .c-cassette-5 {
    margin-top: 80px;
}
.c-cassette-5__body {
    margin-top: 24px;
}
.c-cassette-5__foot {
    margin-top: 15px;
}
@media screen and (max-width: 767px) {
    .c-cassette-5__foot {
        margin-top: 16px;
    }
}

/* ---------------------------------------------
*   c-cassette-result
--------------------------------------------- */
.c-cassette-result {
    padding: 32px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 32px;
    color: var(--color-white-1);
}
@media screen and (max-width: 1024px) {
    .c-cassette-result {
        padding: 16px;
        display: block;
    }
}
@media screen and (max-width: 767px) {
    .c-cassette-result__nums {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}
@media screen and (max-width: 1024px) {
    .c-cassette-result__nums .c-cassette-result__num {
        text-align: center;
    }
}
.c-cassette-result__note {
    display: block;
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__note {
        font-size: 14px;
        text-align: center;
    }
}
.c-cassette-result__num {
    display: block;
    font-size: calc(32 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    flex-shrink: 0;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__num {
        font-size: 14px;
        text-align: center;
    }
}
.c-cassette-result__content {
    width: 100%;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__content {
        margin-top: 8px;
    }
}
.c-cassette-result__content--flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1em;
}
.c-cassette-result__content--flex .c-cassette-result__table {
    margin: 0;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__content--flex {
        display: block;
    }
}
.c-cassette-result__content--center {
    align-items: center;
}
.c-cassette-result__content--nowrap {
    flex-wrap: nowrap;
}
.c-cassette-result__date {
    color: var(--color-gray-1);
    display: block;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__date {
        font-size: 14px;
    }
}
.c-cassette-result__name {
    display: block;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.1818181818;
    margin-top: 8px;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__name {
        font-size: 22px;
    }
}
.c-cassette-result__place {
    color: var(--color-gray-1);
    display: block;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    margin-top: 7px;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__place {
        font-size: 14px;
    }
}
.c-cassette-result__table {
    margin-top: 24px;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__table {
        margin-top: 16px;
    }
}
.c-cassette-result__tag {
    padding: 8px 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--color-white-1);
    color: var(--color-white-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    margin-bottom: 24px;
    margin-top: 24px;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__tag {
        font-size: 14px;
        margin-top: 16px;
        margin-bottom: 8px;
    }
}
.c-cassette-result__tag--renew {
    display: block;
    border-top: none;
    border-left: none;
    border-right: none;
}
.c-cassette-result__race {
    padding: 2px 8px;
    color: var(--color-white-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    background-color: var(--color-brown-1);
    margin-left: 4px;
}
@media screen and (max-width: 767px) {
    .c-cassette-result__race {
        font-size: 14px;
    }
}

/* ---------------------------------------------
*   c-elevator-nav-wrap
--------------------------------------------- */
.c-elevator-nav-wrap {
    position: fixed;
    bottom: 10%;
    right: -254px;
    z-index: 10;
    width: 254px;
}
.c-elevator-nav-wrap.is-animating {
    transition: transform 0.3s, visibility 0.3s;
}
.c-elevator-nav-wrap.is-menu-opened {
    transform: translateX(-254px);
}

/* ---------------------------------------------
*   c-elevator-nav
--------------------------------------------- */
.c-elevator-nav {
    padding: 24px 18px;
    width: 100%;
    background: linear-gradient(to left, #55151a 0%, #55151a 61.58%, rgba(85, 21, 26, 0) 100%);
}
.c-elevator-nav__item:not(:first-of-type) {
    margin-top: 8px;
}
.c-elevator-nav__link {
    position: relative;
    transition: color 0.3s;
    text-align: end;
    padding-right: 26px;
}
.c-elevator-nav__link::before, .c-elevator-nav__link::after {
    content: "";
    position: absolute;
    top: 51%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    transform: translateY(-50%);
}
.c-elevator-nav__link::before {
    right: 6px;
    width: 4px;
    background-color: var(--color-white-1);
}
.c-elevator-nav__link::after {
    right: 0;
    width: 16px;
    border: 1px solid var(--color-white-1);
    opacity: 0;
    transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) {
    .c-elevator-nav__link:hover::after {
        opacity: 1;
    }
}
.c-elevator-nav__link.is-current::after {
    opacity: 1;
}

/* ---------------------------------------------
*   c-figure-1
--------------------------------------------- */
.c-figure-1 img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-figure-1__figcaption {
    margin-top: 40px;
}
.c-figure-1__sub {
    display: flex !important;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 4px;
}
.c-figure-1__sub:first-of-type {
    margin-top: 8px;
}

/* ---------------------------------------------
*   c-figure-2
--------------------------------------------- */
.c-figure-2 {
    width: 100%;
    margin-inline: auto;
}
@media screen and (max-width: 767px) {
    .c-figure-2 {
        width: 100%;
    }
}
.c-figure-2 img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/* ---------------------------------------------
*   c-img
--------------------------------------------- */
/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.c-kv {
    position: relative;
    z-index: 2;
    padding-block: 95px;
    padding-inline: 20px;
}
@media screen and (max-width: 767px) {
    .c-kv {
        padding-block: 85px;
        padding-inline: 10px;
    }
}
.c-kv::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 300px;
    background: url(/jp/motorsports/assets/images/common/bg_kv.png) bottom center no-repeat;
    background-size: cover;
}
.c-kv:lang(en)::before {
    background: url(/en/motorsports/assets/images/common/bg_kv.png) bottom center no-repeat;
    background-size: cover;
}

/* ---------------------------------------------
*   c-kv-large
--------------------------------------------- */
.c-kv-large {
    position: relative;
    z-index: 2;
    height: 506.4px;
}
@media screen and (max-width: 767px) {
    .c-kv-large {
        height: auto;
        aspect-ratio: 390/339;
    }
}
.c-kv-large__container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}
.c-kv-large::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.c-kv-large--indy::before {
    background: url(/jp/motorsports/assets/images/sponsorships/indy/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--indy:lang(en)::before {
    background: url(/en/motorsports/assets/images/sponsorships/indy/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--gt::before {
    background: url(/jp/motorsports/assets/images/sponsorships/gt/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--gt:lang(en)::before {
    background: url(/en/motorsports/assets/images/sponsorships/gt/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--wsb::before {
    background: url(/jp/motorsports/assets/images/sponsorships/wsb/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--wsb:lang(en)::before {
    background: url(/en/motorsports/assets/images/sponsorships/wsb/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--arrc::before {
    background: url(/jp/motorsports/assets/images/sponsorships/arrc/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--arrc:lang(en)::before {
    background: url(/en/motorsports/assets/images/sponsorships/arrc/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--arrc-2::before {
    background: url(/jp/motorsports/assets/images/sponsorships/arrc-2/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--arrc-2:lang(en)::before {
    background: url(/en/motorsports/assets/images/sponsorships/arrc-2/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--jrr::before {
    background: url(/jp/motorsports/assets/images/sponsorships/jrr/bg_kv.png) top center no-repeat;
    background-size: cover;
}
.c-kv-large--jrr:lang(en)::before {
    background: url(/en/motorsports/assets/images/sponsorships/jrr/bg_kv.png) top center no-repeat;
    background-size: cover;
}

/* ---------------------------------------------
*   c-link-scale
--------------------------------------------- */
.c-link-scale {
    display: block;
    outline-offset: -2px;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .c-link-scale {
        overflow: hidden;
    }
    .c-link-scale img {
        backface-visibility: hidden;
        transform: translate3d(0, 0, 0);
        will-change: transform;
        transition: transform var(--hover-duration) cubic-bezier(0, -0.09, 0.1, 0.93);
        transform-origin: center center;
    }
    .c-link-scale:hover img {
        transform: scale(var(--hover-transform-ratio));
    }
}

/* ---------------------------------------------
*   c-link-1
--------------------------------------------- */
.c-link-1 {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 16px;
    height: 136px;
    border: 1px solid var(--color-white-1);
    overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-1 .c-link-1__pic img {
        transition: transform 0.3s cubic-bezier(0, -0.09, 0.1, 0.93);
        transform-origin: center center;
    }
    .c-link-1:hover .c-link-1__pic img {
        transform: scale(1.02);
    }
    .c-link-1:hover span {
        text-decoration: underline;
    }
}
.c-link-1__pic {
    display: block;
    height: 100%;
    aspect-ratio: 1/1;
}
.c-link-1__pic img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-link-1__txts {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-right: 8px;
}
.c-link-1__sub {
    padding-left: 0.8em;
    text-indent: -0.8em;
}
@media screen and (max-width: 767px) {
    .c-link-1__main {
        line-height: 1.5 !important;
    }
}
.c-link-1__note {
    margin-top: 9px;
}
@media screen and (max-width: 767px) {
    .c-link-1__note {
        margin-top: 10px;
    }
}

/* ---------------------------------------------
*   c-list-desc
--------------------------------------------- */
.c-list-desc__item + .c-list-desc__item {
    margin-top: 24px;
}
.c-list-desc__desc {
    margin-top: 8px;
}

/* ---------------------------------------------
*   c-list-sns
--------------------------------------------- */
.c-list-sns {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(16 / var(--root-fz) * 1rem);
}
.c-list-sns__item {
    display: block;
    width: calc(24 / var(--root-fz) * 1rem);
    aspect-ratio: 1/1;
}
.c-list-sns__item--txt {
    aspect-ratio: auto;
    width: auto;
}
.c-list-sns__item--txt .c-list-sns__link {
    padding: 4px 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    aspect-ratio: auto;
    border: 1px solid var(--color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .c-list-sns__item--txt .c-list-sns__link {
        transition: opacity var(--hover-duration);
    }
    .c-list-sns__item--txt .c-list-sns__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-list-sns__item--txt .c-list-sns__link img {
    width: calc(12 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-list-sns__item--txt .c-list-sns__link img {
        width: 12px;
    }
}
.c-list-sns__link {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
}
@media (hover: hover) and (pointer: fine) {
    .c-list-sns__link {
        transition: opacity var(--hover-duration);
    }
    .c-list-sns__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-list-sns__link img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-list-sns__txt {
    display: block;
    color: var(--color-white-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-list-sns__txt {
        font-size: 12px;
    }
}

/* ---------------------------------------------
*   c-list-rank
--------------------------------------------- */
/*  c-list-rank-wrap
--------------------------------------------- */
.c-list-rank-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 64px;
}
@media screen and (max-width: 767px) {
    .c-list-rank-wrap {
        display: block;
    }
}
@media screen and (max-width: 767px) {
    .c-list-rank-wrap__item + .c-list-rank-wrap__item {
        margin-top: 24px;
    }
}
.c-list-rank-wrap__item--100 {
    width: 100%;
}

/*  c-list-rank
--------------------------------------------- */
.c-list-rank {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .c-list-rank {
        display: block;
    }
}
.c-list-rank--start {
    justify-content: flex-start;
}
@media screen and (max-width: 767px) {
    .c-list-rank__desc {
        margin-top: 8px;
    }
}
.c-list-rank__desc--100 {
    width: 100%;
}
.c-list-rank__list {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .c-list-rank__list {
        display: block;
        width: 100%;
    }
}
.c-list-rank__item {
    padding: 13px 16px;
    flex-shrink: 0;
    background-color: var(--color-brown-1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 1em;
    width: calc((100% - 48px) / 3);
    min-width: 236px;
}
@media screen and (max-width: 767px) {
    .c-list-rank__item {
        padding: 21px 16px;
        width: 100%;
    }
    .c-list-rank__item + .c-list-rank__item {
        margin-top: 8px;
    }
}
.c-list-rank__item--center {
    justify-content: center;
}
@media screen and (max-width: 767px) {
    .c-list-rank__item--center {
        justify-content: flex-end;
    }
}
.c-list-rank__item--normal {
    display: block;
}
@media screen and (max-width: 767px) {
    .c-list-rank__item--normal {
        display: flex;
        justify-content: space-between;
    }
}
.c-list-rank__item--w100 {
    width: 100%;
}
.c-list-rank__item--fit {
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 767px) {
    .c-list-rank__item--fit {
        width: 100%;
    }
}
@media screen and (min-width: 768px) {
    .c-list-rank__item--4col {
        width: calc((100% - 72px) / 4);
        min-width: 236px;
    }
}
@media screen and (max-width: 767px) {
    .c-list-rank__item--renew {
        padding: 19px 16px;
    }
}
.c-list-rank__nums {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}
@media screen and (max-width: 767px) {
    .c-list-rank__nums {
        transform: translateY(3px);
    }
}
@media screen and (min-width: 768px) {
    .c-list-rank__unit {
        transform: translateY(5px);
    }
}
.c-list-rank__name {
    display: block;
    color: var(--color-white-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-list-rank__name {
        font-size: 14px;
        margin-bottom: 0;
        text-align: left;
    }
}
.c-list-rank__name--small {
    font-size: calc(10 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-list-rank__name--small {
        font-size: 10px;
    }
}
.c-list-rank__name-wrap {
    display: flex;
    justify-content: center;
    white-space: nowrap;
}
@media screen and (max-width: 767px) {
    .c-list-rank__name-wrap {
        justify-content: flex-end;
    }
}

/* ---------------------------------------------
*   c-list-1
--------------------------------------------- */
.c-list-1 {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .c-list-1 {
        display: block;
    }
}
.c-list-1__item {
    width: calc(409 / var(--contents-width) * 100%);
    flex-shrink: 0;
}
@media screen and (max-width: 1400px) {
    .c-list-1__item {
        width: calc((100% - 25px) / 2);
    }
}
@media screen and (max-width: 1024px) {
    .c-list-1__item {
        width: 100%;
    }
    .c-list-1__item + .c-list-1__item {
        margin-top: 24px;
    }
}

/* ---------------------------------------------
*   c-list-2
--------------------------------------------- */
.c-list-2 {
    margin-left: 5px;
}
.c-list-2__item {
    padding-block: 8px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    border-bottom: 1px dashed var(--color-white-1);
}
@media screen and (max-width: 767px) {
    .c-list-2__item {
        gap: 1em;
        flex-wrap: nowrap;
    }
}
.c-list-2__term {
    width: calc(149 / var(--root-fz) * 1rem);
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .c-list-2__term {
        width: 6em;
    }
}
.c-list-2__desc ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 1em;
}
.c-list-2__link {
    position: relative;
    padding-left: calc(12 / var(--root-fz) * 1rem);
    display: inline-block;
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-list-2__link:hover {
        text-decoration: none;
    }
}
.c-list-2__link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 8px;
    aspect-ratio: 1/1;
    background: url(/jp/motorsports/assets/images/common/icon_arrow-ltr-wh.png) 0 0 no-repeat;
    background-size: 100% auto;
    transform: translateY(-50%) rotate(90deg);
}
.c-list-2__link::before:lang(en) {
    background: url(/en/motorsports/assets/images/common/icon_arrow-ltr-wh.png) 0 0 no-repeat;
    background-size: 100% auto;
}

/* ---------------------------------------------
*   c-list-result
--------------------------------------------- */
.c-list-result__item {
    background-color: rgba(0, 0, 0, 0.5);
    border-left: 1px solid var(--color-red-1);
}
@media screen and (max-width: 767px) {
    .c-list-result__item {
        border-left: none;
        border-top: 1px solid var(--color-red-1);
    }
}
.c-list-result__item:not(:first-of-type) {
    margin-top: 16px;
}

/* ---------------------------------------------
*   c-list-detail
--------------------------------------------- */
.c-list-detail {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: calc(24 / var(--contents-width) * 100%);
    column-gap: calc(24 / var(--contents-width) * 100%);
    -moz-row-gap: 24px;
    row-gap: 24px;
}
@media screen and (max-width: 1200px) {
    .c-list-detail {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 900px) {
    .c-list-detail {
        grid-template-columns: repeat(1, 1fr);
    }
}
@media screen and (max-width: 767px) {
    .c-list-detail {
        -moz-row-gap: 8px;
        row-gap: 8px;
    }
}
.c-list-detail--1col {
    display: block;
    min-width: 362px;
}
@media screen and (max-width: 767px) {
    .c-list-detail--1col {
        width: 100%;
        min-width: auto;
        margin-top: 16px;
    }
}
.c-list-detail--2col {
    grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 900px) {
    .c-list-detail--2col {
        grid-template-columns: repeat(1, 1fr);
        -moz-row-gap: 8px;
        row-gap: 8px;
    }
}
.c-list-detail__item {
    background-color: var(--color-black-3);
}
.c-list-detail__name {
    padding: 12px 8px;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    background-color: rgba(var(--color-black-1-rgb), 0.2);
    display: block;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-list-detail__name {
        font-size: 14px;
    }
}
.c-list-detail__lv1 {
    position: relative;
    padding: 20px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.c-list-detail__lv1::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1px;
    height: calc(100% - 40px);
    border: 1px dashed var(--color-black-1);
    transform: translate(-50%, -50%);
}
.c-list-detail__lv1--end {
    align-items: stretch;
}
.c-list-detail__lv1--3col::after {
    display: none;
}
@media screen and (max-width: 767px) {
    .c-list-detail__lv1--3col {
        flex-wrap: wrap;
        gap: 16px 0;
    }
}
.c-list-detail__lv1--3col .c-list-detail__lv1-item {
    position: relative;
    width: 33%;
}
@media screen and (max-width: 767px) {
    .c-list-detail__lv1--3col .c-list-detail__lv1-item {
        width: 100%;
    }
}
.c-list-detail__lv1--3col .c-list-detail__lv1-item:nth-of-type(2) {
    padding-right: 16px;
    padding-left: 16px;
}
.c-list-detail__lv1--3col .c-list-detail__lv1-item:nth-of-type(2)::before, .c-list-detail__lv1--3col .c-list-detail__lv1-item:nth-of-type(2)::after {
    content: "";
    position: absolute;
    top: 50%;
    display: block;
    width: 1px;
    height: 100%;
    border: 1px dashed var(--color-black-1);
    transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
    .c-list-detail__lv1--3col .c-list-detail__lv1-item:nth-of-type(2)::before, .c-list-detail__lv1--3col .c-list-detail__lv1-item:nth-of-type(2)::after {
        display: none;
    }
}
.c-list-detail__lv1--3col .c-list-detail__lv1-item:nth-of-type(2)::before {
    left: 0;
}
.c-list-detail__lv1--3col .c-list-detail__lv1-item:nth-of-type(2)::after {
    right: 0;
}
@media screen and (max-width: 767px) {
    .c-list-detail__lv1--3col .c-list-detail__lv1-item:first-of-type, .c-list-detail__lv1--3col .c-list-detail__lv1-item:nth-of-type(2), .c-list-detail__lv1--3col .c-list-detail__lv1-item:last-of-type {
        padding-left: 0;
        padding-right: 0;
    }
}
.c-list-detail__lv1--1col::after {
    display: none;
}
.c-list-detail__lv1--1col .c-list-detail__lv1-item {
    position: relative;
    width: 100%;
}
.c-list-detail__lv1--1col .c-list-detail__lv1-item:first-of-type, .c-list-detail__lv1--1col .c-list-detail__lv1-item:nth-of-type(2), .c-list-detail__lv1--1col .c-list-detail__lv1-item:last-of-type {
    padding-left: 0;
    padding-right: 0;
}
.c-list-detail__lv1-item {
    width: 50%;
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.c-list-detail__lv1-item:first-of-type {
    padding-right: 16px;
}
.c-list-detail__lv1-item:last-of-type {
    padding-left: 16px;
}
.c-list-detail__lv1-item--date {
    display: block;
}
.c-list-detail__lv1-item--column {
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
}
.c-list-detail__lv2 {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}
.c-list-detail__lv2-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.c-list-detail__date {
    display: block;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-list-detail__date {
        font-size: 14px;
    }
}
.c-list-detail__lv1-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0 0.5em;
}
.c-list-detail__term {
    display: inline-block;
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1;
}
@media screen and (max-width: 767px) {
    .c-list-detail__term {
        font-size: 14px;
    }
}
.c-list-detail__rank {
    display: inline-block;
    font-size: calc(32 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    transform: translateY(3px);
}
@media screen and (max-width: 767px) {
    .c-list-detail__rank {
        font-size: 32px;
        white-space: nowrap;
    }
}
.c-list-detail__rank-small {
    display: inline-block;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    transform: translateY(3px);
}
@media screen and (max-width: 767px) {
    .c-list-detail__rank-small {
        font-size: 22px;
        white-space: nowrap;
    }
}
.c-list-detail__unit {
    display: inline-block;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
    margin-left: 4px;
}
@media screen and (max-width: 767px) {
    .c-list-detail__unit {
        font-size: 16px;
    }
}

/* ---------------------------------------------
*   c-list-jrr
--------------------------------------------- */
.c-list-jrr {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 24px;
}
@media screen and (max-width: 900px) {
    .c-list-jrr {
        display: block;
    }
}
.c-list-jrr__item--1col {
    width: calc((100% - 48px) / 5);
}
@media screen and (max-width: 1300px) {
    .c-list-jrr__item--1col {
        width: calc((100% - 48px) / 3);
    }
}
@media screen and (max-width: 900px) {
    .c-list-jrr__item--1col {
        width: 100%;
    }
}
.c-list-jrr__item--1col .c-list-rank__item {
    width: 100%;
    min-width: auto;
}
.c-list-jrr__item--2col {
    width: calc((100% - 48px) / 5 * 2);
}
@media screen and (max-width: 1300px) {
    .c-list-jrr__item--2col {
        width: calc((100% - 48px) / 3);
    }
}
@media screen and (max-width: 900px) {
    .c-list-jrr__item--2col {
        width: 100%;
    }
}
.c-list-jrr__item--2col .c-list-rank__item {
    width: calc((100% - 24px) / 2);
    min-width: auto;
}
@media screen and (max-width: 1300px) {
    .c-list-jrr__item--2col .c-list-rank__item {
        width: 100%;
    }
}
.c-list-jrr__item--1-3col {
    width: calc((100% - 48px) / 3);
}
@media screen and (max-width: 900px) {
    .c-list-jrr__item--1-3col {
        width: 100%;
    }
}
.c-list-jrr__item--1-3col .c-list-rank__item {
    width: 100%;
    min-width: auto;
}
.c-list-jrr__item--2-3col {
    width: calc((100% - 48px) / 3 * 2);
}
@media screen and (max-width: 900px) {
    .c-list-jrr__item--2-3col {
        width: 100%;
    }
}
.c-list-jrr__item--2-3col .c-list-rank__item {
    width: calc((100% - 24px) / 2);
    min-width: auto;
}
@media screen and (max-width: 900px) {
    .c-list-jrr__item--2-3col .c-list-rank__item {
        width: 100%;
    }
}
.c-list-jrr__item--1-4col {
    width: calc((100% - 48px) / 4);
}
@media screen and (max-width: 1300px) {
    .c-list-jrr__item--1-4col {
        width: calc((100% - 48px) / 3);
    }
}
@media screen and (max-width: 900px) {
    .c-list-jrr__item--1-4col {
        width: 100%;
    }
}
.c-list-jrr__item--1-4col .c-list-rank__item {
    width: 100%;
    min-width: auto;
}
.c-list-jrr__item--2-4col {
    width: calc((100% - 48px) / 4 * 2);
}
@media screen and (max-width: 1300px) {
    .c-list-jrr__item--2-4col {
        width: calc((100% - 48px) / 3);
    }
}
@media screen and (max-width: 900px) {
    .c-list-jrr__item--2-4col {
        width: 100%;
    }
}
.c-list-jrr__item--2-4col .c-list-rank__item {
    width: calc((100% - 24px) / 2);
    min-width: auto;
}
@media screen and (max-width: 1300px) {
    .c-list-jrr__item--2-4col .c-list-rank__item {
        width: 100%;
    }
}
@media screen and (max-width: 900px) {
    .c-list-jrr__item + .c-list-jrr__item {
        margin-top: 24px;
    }
}
.c-list-jrr__cat {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--color-white-1);
    padding: 8px 5px;
    color: var(--color-white-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-list-jrr__cat {
        font-size: 14px;
    }
}

/* ---------------------------------------------
*   c-list-banner
--------------------------------------------- */
.c-list-banner {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 24px;
}
@media screen and (max-width: 767px) {
    .c-list-banner {
        display: block;
    }
}
.c-list-banner__item {
    width: 409px;
    flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
    .c-list-banner__item {
        width: 100%;
    }
    .c-list-banner__item + .c-list-banner__item {
        margin-top: 24px;
    }
}
.c-list-banner__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .c-list-banner__link {
        transition: opacity var(--hover-duration);
    }
    .c-list-banner__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-list-banner__link img {
    width: 100%;
}

/* ---------------------------------------------
*   c-list-renew
--------------------------------------------- */
.c-list-renew__item .c-list-rank__list {
    justify-content: flex-start;
    gap: 10px;
}
.c-list-renew__item .c-list-rank__item {
    width: calc((100% - 30px) / 4);
}
@media screen and (max-width: 900px) {
    .c-list-renew__item .c-list-rank__item {
        width: calc((100% - 10px) / 2);
    }
}
@media screen and (max-width: 767px) {
    .c-list-renew__item .c-list-rank__item {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .c-list-renew__item .c-list-rank__name {
        font-size: 13px;
    }
}
.c-list-renew__item + .c-list-renew__item {
    margin-top: 20px;
}
@media screen and (max-width: 767px) {
    .c-list-renew__item + .c-list-renew__item {
        margin-top: 24px;
    }
}
.c-list-renew__cat {
    margin-bottom: 10px;
    border-bottom: 1px solid var(--color-white-1);
    padding-block: 0 8px;
    color: var(--color-white-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
    width: 100%;
}
@media screen and (max-width: 767px) {
    .c-list-renew__cat {
        padding-block: 0 4px;
        font-size: 14px;
        margin-bottom: 8px;
    }
}

/* ---------------------------------------------
*   c-movie-1
--------------------------------------------- */
.c-movie-1__link {
    position: relative;
    display: block;
    width: 100%;
    box-shadow: 0 0 20px #040A12;
}
.c-movie-1__link::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 160px;
    aspect-ratio: 1/1;
    background: url(/jp/motorsports/assets/images/common/icon_play-large.png) center/cover no-repeat;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
    .c-movie-1__link::after {
        width: calc(80 / 358 * 100%);
    }
}
.c-movie-1__link:lang(en)::after {
    background: url(/en/motorsports/assets/images/common/icon_play-large.png) center/cover no-repeat;
}
@media (hover: hover) and (pointer: fine) {
    .c-movie-1__link::after {
        transition: transform 0.3s;
        transform-origin: center center;
    }
    .c-movie-1__link:hover::after {
        transform: translate(-50%, -50%) scale(1.1);
    }
}
.c-movie-1 img {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
}

/* ---------------------------------------------
*   c-modal-trigger
--------------------------------------------- */
.c-modal-trigger {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(24 / 1000 * 100%);
}
@media screen and (max-width: 767px) {
    .c-modal-trigger {
        display: block;
    }
}
.c-modal-trigger__btn {
    position: relative;
    display: block;
    width: calc(317 / 1000 * 100%);
    flex-shrink: 0;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .c-modal-trigger__btn {
        overflow: hidden;
    }
    .c-modal-trigger__btn img {
        backface-visibility: hidden;
        transform: translate3d(0, 0, 0);
        will-change: transform;
        transition: transform var(--hover-duration) cubic-bezier(0, -0.09, 0.1, 0.93);
        transform-origin: center center;
    }
    .c-modal-trigger__btn:hover img {
        transform: scale(var(--hover-transform-ratio));
    }
}
@media screen and (max-width: 767px) {
    .c-modal-trigger__btn {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .c-modal-trigger__btn + .c-modal-trigger__btn {
        margin-top: 24px;
    }
}
.c-modal-trigger__btn img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.c-modal-trigger__btn::after {
    content: "";
    position: absolute;
    bottom: calc(8 / 317 * 100%);
    right: calc(8 / 317 * 100%);
    display: block;
    width: calc(32 / 317 * 100%);
    aspect-ratio: 1/1;
    background: url(/jp/motorsports/assets/images/common/icon_expansion.png) 0 0 no-repeat;
    background-size: cover;
}
.c-modal-trigger__btn:lang(en)::after {
    background: url(/en/motorsports/assets/images/common/icon_expansion.png) 0 0 no-repeat;
    background-size: cover;
}

/*  c-modal
--------------------------------------------- */
.c-modal {
    display: none;
}
.c-modal.is-open {
    display: block;
}
.c-modal__overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px;
}
.c-modal__container {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin-inline: auto;
    max-height: 100vh;
}
.c-modal__close-btn {
    position: absolute;
    top: -40px;
    right: 0;
    display: block;
    width: 24px;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal__close-btn {
        transition: opacity var(--hover-duration);
    }
    .c-modal__close-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .c-modal__close-btn {
        top: -32px;
        width: 16px;
    }
}

/* Modal Animation Style　(アニメーション不要の場合は削除)
--------------------------------------------- */
.c-modal[aria-hidden=false] .c-modal__overlay {
    animation: mmfadeIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=true] .c-modal__overlay {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal__overlay, .c-modal__container {
    will-change: transform;
}

@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes mmslideIn {
    from {
        transform: translateY(15%);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(15%);
    }
}
/*  c-modal-slider
--------------------------------------------- */
.c-modal-slider__wrapper {
    position: relative;
    max-height: calc(100vh - 120px);
    aspect-ratio: 900/600;
    margin: 0 auto;
}
.c-modal-slider .splide__slide {
    transform: translate3d(0, 0, 0);
    display: grid;
    place-items: center;
}
.c-modal-slider .splide__slide img {
    width: 100%;
}
.c-modal-slider .splide__arrows {
    position: absolute;
    bottom: -48px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}
.c-modal-slider .splide__arrow {
    display: grid;
    place-items: center;
    width: 32px;
    aspect-ratio: 1/1;
    box-sizing: border-box;
    touch-action: manipulation;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal-slider .splide__arrow {
        overflow: visible !important;
    }
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .c-modal-slider .splide__arrow {
        overflow: hidden;
    }
    .c-modal-slider .splide__arrow img {
        backface-visibility: hidden;
        transform: translate3d(0, 0, 0);
        will-change: transform;
        transition: transform var(--hover-duration) cubic-bezier(0, -0.09, 0.1, 0.93);
        transform-origin: center center;
    }
    .c-modal-slider .splide__arrow:hover img {
        transform: scale(var(--hover-transform-ratio));
    }
}
.c-modal-slider .splide__arrow[disabled] {
    opacity: 0.3;
    pointer-events: none;
}

/* ---------------------------------------------
*   c-section-1
--------------------------------------------- */
.c-section-1 {
    margin-top: 80px;
}
.c-section-1:nth-of-type(1) {
    margin-top: 40px;
}
@media screen and (min-width: 768px) {
    .c-section-1__head--small {
        max-width: 382px;
        width: 100%;
    }
}

/* ---------------------------------------------
*   c-section-2
--------------------------------------------- */
.c-section-2 {
    position: relative;
    padding-block: 80px 0;
}
@media screen and (max-width: 767px) {
    .c-section-2 {
        padding-block: 80px;
    }
}
.c-section-2::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 417px;
    background: url(/jp/motorsports/assets/images/top/bg_naming-rights.png) top center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 767px) {
    .c-section-2::before {
        height: 100%;
        background: url(/jp/motorsports/assets/images/top/sp/bg_naming-rights.png) top center no-repeat;
        background-size: cover;
    }
}
.c-section-2:lang(en)::before {
    background: url(/en/motorsports/assets/images/top/bg_naming-rights.png) top center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 767px) {
    .c-section-2:lang(en)::before {
        background: url(/en/motorsports/assets/images/top/sp/bg_naming-rights.png) top center no-repeat;
        background-size: cover;
    }
}
.c-section-2--supply {
    z-index: 2;
    margin-top: 80px;
}
@media screen and (max-width: 767px) {
    .c-section-2--supply {
        padding-block: 80px 0;
        margin-top: 40px;
    }
}
@media screen and (max-width: 767px) {
    .c-section-2--supply::before {
        height: 238px;
        background: url(/jp/motorsports/assets/images/supply/sp/bg_naming-rights.png) top center no-repeat;
        background-size: cover;
    }
    .c-section-2--supply::before:lang(en) {
        background: url(/en/motorsports/assets/images/supply/sp/bg_naming-rights.png) top center no-repeat;
        background-size: cover;
    }
}
.c-section-2--supply .c-section-2__body {
    margin-top: 40px;
}
.c-section-2__container {
    padding-inline: calc(var(--contents-side-padding) * 1px);
    width: 100%;
    margin-inline: auto;
}
@media screen and (min-width: 768px) {
    .c-section-2__container {
        max-width: calc(var(--design-width) * 1px);
    }
}
.c-section-2__body {
    margin-top: 69px;
}
@media screen and (max-width: 767px) {
    .c-section-2__body {
        margin-top: 40px;
    }
}

/* ---------------------------------------------
*   c-section-3
--------------------------------------------- */
.c-section-3 {
    padding-top: 64px;
    max-width: 1008px;
    width: 100%;
    margin-inline: auto;
}
.c-section-3__note {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 16px;
}
.c-section-3__date {
    color: var(--color-gray-1) !important;
}
.c-section-3__body {
    margin-top: 40px;
}
.c-section-3__body a {
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-section-3__body a:hover {
        text-decoration: none;
    }
}
.c-section-3__foot {
    margin-top: 64px;
}
.c-section-3__btn {
    width: 322px;
    margin-inline: auto;
}

/* ---------------------------------------------
*   c-section-4
--------------------------------------------- */
.c-section-4 {
    padding-top: 80px;
}
.c-section-4 + .c-section-4 {
    padding-top: 113px;
}
@media screen and (max-width: 767px) {
    .c-section-4 + .c-section-4 {
        padding-top: 80px;
    }
}
.c-section-4__body {
    margin-top: 32px;
}

/* ---------------------------------------------
*   c-scroll-down
--------------------------------------------- */
.c-scroll-down {
    position: absolute;
    bottom: 0;
    left: 0;
}
.c-scroll-down__line {
    position: relative;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 48px;
}
.c-scroll-down__line::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--color-white-1);
    animation: scrollDown 2s infinite;
}

@keyframes scrollDown {
    0% {
        transform: scaleY(0);
        transform-origin: 0 0;
    }
    50% {
        transform: scaleY(1);
        transform-origin: 0 0;
    }
    50.1% {
        transform: scaleY(1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scaleY(0);
        transform-origin: 0 100%;
    }
}
/* ---------------------------------------------
*   c-slider
--------------------------------------------- */
/* ---------------------------------------------
*   c-table-1
--------------------------------------------- */
.c-table-1 {
    margin-top: 20px;
    width: 100%;
    table-layout: fixed;
}
@media screen and (max-width: 767px) {
    .c-table-1 {
        margin-top: 13px;
    }
}
.c-table-1 thead th {
    padding-block: 7px 6px;
    background-color: var(--color-brown-1);
    border-left: 1px solid rgba(0, 0, 0, 0.4);
    line-height: 1;
    text-align: center;
}
.safari .c-table-1 thead th, .windows .c-table-1 thead th {
    padding-block: 8px 6px;
}

.ipad .c-table-1 thead th, .firefox .c-table-1 thead th {
    padding-block: 7px 6px;
}

.c-table-1 tbody tr {
    border-bottom: 1px solid var(--color-white-1);
}
.c-table-1 tbody tr.is-rowspan {
    border-bottom: 1px dashed var(--color-white-1);
}
.c-table-1 tbody td {
    padding: 8px 5px;
}
@media screen and (max-width: 767px) {
    .c-table-1 tbody td {
        padding-inline: 0;
    }
}
.c-table-1__team {
    vertical-align: top;
}
.c-table-1__name {
    vertical-align: top;
}
.c-table-1__name li {
    display: flex;
    gap: 1px;
}
.c-table-1__name li::before {
    content: "・";
    display: inline-block;
    line-height: 1.5;
}
.c-table-1__product {
    border-bottom: 1px solid var(--color-white-1);
}
.c-table-1__product span {
    display: block;
    padding-left: 10px;
}
@media screen and (max-width: 767px) {
    .iphone .c-table-1__product span, .android .c-table-1__product span {
        padding-left: 7px;
    }
}

.c-table-1__product ul {
    padding-left: 10px;
}
@media screen and (max-width: 767px) {
    .iphone .c-table-1__product ul, .android .c-table-1__product ul {
        padding-left: 7px;
    }
}

/* ---------------------------------------------
*   c-tab-selector
--------------------------------------------- */
.c-tab-selector {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}
.c-tab-selector__item {
    padding: 8px 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(200 / var(--contents-width) * 100%);
    border: 1px solid var(--color-white-1);
    color: var(--color-white-1);
    transition: background-color 0.3s, color 0.3s;
}
.c-tab-selector__item.is-current {
    background-color: var(--color-white-1);
    color: var(--color-base-1);
    pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
    .c-tab-selector__item:hover {
        background-color: var(--color-white-1);
        color: var(--color-base-1);
    }
}
@media screen and (max-width: 767px) {
    .c-tab-selector__item {
        width: calc((100% - 16px) / 2);
    }
}

/* ---------------------------------------------
*   c-tag-1
--------------------------------------------- */
.c-tag-1 {
    position: relative;
    padding-left: calc(24 / var(--root-fz) * 1rem);
    display: block;
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .c-tag-1 {
        padding-left: 22px;
        font-size: 14px;
    }
}
.c-tag-1::before {
    content: "";
    position: absolute;
    top: 0.3em;
    left: 1.7px;
    display: block;
    width: calc(17 / var(--root-fz) * 1rem);
    aspect-ratio: 34/26;
    background: url(/jp/motorsports/assets/images/common/icon_ttl-tag.png) 0 0 no-repeat;
    background-size: cover;
}
@media screen and (max-width: 767px) {
    .c-tag-1::before {
        top: 0.18em;
        left: -0.5px;
        width: 17px;
    }
}
@media screen and (min-width: 768px) {
    .safari .c-tag-1::before {
        top: 0.2em;
    }
}

.ipad .c-tag-1::before {
    top: 0.3em;
}

.iphone .c-tag-1::before {
    top: 0.3em;
}

@media screen and (min-width: 768px) {
    .mac.firefox .c-tag-1::before {
        top: 0.2em;
    }
}

@media screen and (max-width: 767px) {
    .edgh .c-tag-1::before {
        top: 0.3em;
    }
}

.c-tag-1:lang(en)::before {
    background: url(/en/motorsports/assets/images/common/icon_ttl-tag.png) 0 0 no-repeat;
    background-size: cover;
}

/* ---------------------------------------------
*   c-tag-2
--------------------------------------------- */
.c-tag-2 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    padding: 6px 8px 5px;
    background-color: var(--color-red-1);
}
.c-tag-2__txt {
    display: block;
    color: var(--color-white-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-tag-2__txt {
        font-size: 12px;
    }
}

/* ---------------------------------------------
*   c-ttl-1
--------------------------------------------- */
.c-ttl-1__main {
    color: var(--color-white-1);
    display: block;
    font-size: calc(64 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.09375;
}
@media screen and (max-width: 767px) {
    .c-ttl-1__main {
        font-size: 40px;
        line-height: 1.2;
    }
}
.c-ttl-1__sub {
    color: var(--color-gray-1);
    display: block;
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.8333333333;
    margin-top: 6px;
}
@media screen and (max-width: 767px) {
    .c-ttl-1__sub {
        font-size: 14px;
        line-height: 2.3571428571;
        margin-top: 0;
    }
}
@media screen and (max-width: 767px) {
    .c-ttl-1__sub--white {
        color: var(--color-white-1);
    }
}
.c-ttl-1__sub--white-2 {
    color: var(--color-white-1);
}
.c-ttl-1--center {
    text-align: center;
}
.c-ttl-1__sub-en {
    color: var(--color-white-1);
    display: block;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.1818181818;
    margin-block: 8px 16px;
}
@media screen and (max-width: 767px) {
    .c-ttl-1__sub-en {
        font-size: 18px;
    }
}

/* ---------------------------------------------
*   c-ttl-band
--------------------------------------------- */
.c-ttl-band {
    position: relative;
    padding-block: 10px 8px;
    padding-inline: 0.5em;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: calc(100% - 16px);
}
@media screen and (max-width: 767px) {
    .c-ttl-band {
        padding-inline: 8px;
    }
}
.c-ttl-band::before, .c-ttl-band::after {
    content: "";
    position: absolute;
    top: 0;
}
.c-ttl-band::after {
    right: -15px;
    width: 15px;
    height: 100%;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.c-ttl-band__txt {
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-ttl-band__txt {
        font-size: 16px;
    }
}
.c-ttl-band--red {
    background-color: var(--color-red-1);
}
.c-ttl-band--red::before, .c-ttl-band--red::after {
    background-color: var(--color-red-1);
}
.c-ttl-band--top {
    padding-inline: calc(48 / 510 * 100%) 0.5em;
}
@media screen and (max-width: 767px) {
    .c-ttl-band--top {
        padding-inline: 0;
    }
}
.c-ttl-band--top::before {
    left: calc(var(--contents-side-padding) * -1px);
    width: calc(var(--contents-side-padding) * 1px);
    height: 100%;
}

/* ---------------------------------------------
*   c-ttl-border
--------------------------------------------- */
.c-ttl-border {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 15px;
}
@media screen and (max-width: 1024px) {
    .c-ttl-border {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 10px;
    }
}
.c-ttl-border--white {
    border-bottom: 1px solid var(--color-white-1);
}
.c-ttl-border__large {
    color: var(--color-white-1);
    font-size: calc(40 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1;
}
@media screen and (max-width: 1024px) {
    .c-ttl-border__large {
        font-size: 32px;
    }
}
.c-ttl-border__small {
    color: var(--color-gray-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 1024px) {
    .c-ttl-border__small {
        font-size: 14px;
    }
}

/* ---------------------------------------------
*   c-ttl-border-bottom
--------------------------------------------- */
.c-ttl-border-bottom {
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-white-1);
}
.c-ttl-border-bottom__txt {
    color: var(--color-white-1);
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.1818181818;
}
@media screen and (max-width: 1024px) {
    .c-ttl-border-bottom__txt {
        font-size: 22px;
    }
}

/* ---------------------------------------------
*   c-ttl-border-left
--------------------------------------------- */
.c-ttl-border-left {
    position: relative;
    padding-left: 12px;
}
.c-ttl-border-left::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 4px;
    height: 100%;
    background-color: var(--color-red-1);
    transform: translateY(-50%);
}
.c-ttl-border-left__txt {
    display: block;
    color: var(--color-white-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .c-ttl-border-left__txt {
        font-size: 18px;
    }
}
.c-ttl-border-left__txt--large {
    font-size: calc(32 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-ttl-border-left__txt--large {
        font-size: 22px;
    }
}
.c-ttl-border-left__txt-small {
    color: var(--color-gray-1);
    font-size: calc(12 / var(--root-fz) * 1rem);
    margin-left: calc(8 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .c-ttl-border-left__txt-small {
        font-size: 12px;
        margin-left: 0;
    }
}
@media screen and (max-width: 767px) {
    .c-ttl-border-left--spReverse .c-ttl-border-left__txt {
        display: flex;
        flex-direction: column-reverse;
    }
}

/* ---------------------------------------------
*   c-txt-1
--------------------------------------------- */
.c-txt-1 {
    display: block;
    color: var(--color-white-1);
    font-size: calc(22 / var(--root-fz) * 1rem);
    line-height: 1.1818181818;
}
@media screen and (max-width: 767px) {
    .c-txt-1 {
        font-size: 22px;
    }
}
.c-txt-1--bold {
    font-weight: bold;
}
.c-txt-1--center {
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-txt-1--spSmall {
        font-size: 18px;
    }
}

/* ---------------------------------------------
*   c-txt-2
--------------------------------------------- */
.c-txt-2 {
    display: block;
    color: var(--color-white-1);
    font-size: calc(51 / var(--root-fz) * 1rem);
    line-height: 1.0980392157;
}
@media screen and (max-width: 767px) {
    .c-txt-2 {
        font-size: 51px;
    }
}
.c-txt-2--bold {
    font-weight: bold;
}

/* ---------------------------------------------
*   c-txt-3
--------------------------------------------- */
.c-txt-3 {
    display: block;
    color: var(--color-white-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .c-txt-3 {
        font-size: 12px;
    }
}
.c-txt-3--lh {
    line-height: 1;
}
@media screen and (max-width: 767px) {
    .c-txt-3--spLarge {
        font-size: 14px;
    }
}
.c-txt-3--bold {
    font-weight: bold;
}

/* ---------------------------------------------
*   c-txt-4
--------------------------------------------- */
.c-txt-4 {
    display: block;
    font-size: calc(18 / var(--root-fz) * 1rem);
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .c-txt-4 {
        font-size: 18px;
    }
}
.c-txt-4--bold {
    font-weight: bold;
}

/* ---------------------------------------------
*   c-txt-5
--------------------------------------------- */
.c-txt-5 {
    display: block;
    color: var(--color-white-1);
    font-size: calc(32 / var(--root-fz) * 1rem);
    line-height: 1.1875;
}
@media screen and (max-width: 767px) {
    .c-txt-5 {
        font-size: 22px;
    }
}
.c-txt-5--bold {
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-txt-5--spLarge {
        font-size: 32px;
    }
}

/* ---------------------------------------------
*   c-txt-6
--------------------------------------------- */
.c-txt-6 {
    display: block;
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .c-txt-6 {
        font-size: 14px;
    }
}
.c-txt-6--bold {
    font-weight: bold;
}
.c-txt-6--gray {
    color: var(--color-gray-1);
}
@media screen and (max-width: 767px) {
    .c-txt-6--spLarge {
        font-size: 16px;
    }
}

/* ---------------------------------------------
*   p-top-movie
--------------------------------------------- */
.p-top-movie {
    position: relative;
    display: block;
    width: 100%;
}
.p-top-movie__video {
    display: block;
    width: 100%;
}
@media screen and (max-width: 767px) {
    .p-top-movie__video {
        height: 100%;
    }
}
.p-top-movie__container {
    position: sticky;
    bottom: 0;
    left: 0;
}
.p-top-movie__bg {
    position: absolute;
    bottom: -1px;
    left: 50%;
    padding-inline: calc(var(--contents-side-padding) * 1px);
    width: 100%;
    background: linear-gradient(rgba(10, 10, 10, 0) 0%, #1c1c1c 100%);
    transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
    .p-top-movie__bg {
        background: linear-gradient(rgba(10, 10, 10, 0) 0%, #1c1c1c 100%);
    }
}
.p-top-movie__inner {
    position: relative;
    padding-block: 86px 65px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    margin-inline: auto;
}
@media screen and (min-width: 768px) {
    .p-top-movie__inner {
        max-width: calc(var(--design-width) * 1px);
    }
}
@media screen and (max-width: 767px) {
    .p-top-movie__inner {
        padding-block: 51px 15px;
        display: block;
    }
}
.p-top-movie__txts {
    color: var(--color-white-1);
    padding-bottom: 15px;
}
@media screen and (max-width: 767px) {
    .p-top-movie__txts {
        padding-bottom: 0;
    }
}
.p-top-movie__ttl {
    display: block;
    font-size: calc(72 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 0.9;
}
@media screen and (max-width: 767px) {
    .p-top-movie__ttl {
        font-size: 47px;
        line-height: 1.0980392157;
    }
}
.p-top-movie__lead {
    display: block;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    margin-top: 10px;
}
@media screen and (max-width: 767px) {
    .p-top-movie__lead {
        font-size: 14px;
        line-height: 1.5;
        margin-top: 12px;
    }
}
.p-top-movie__btns {
    position: relative;
    display: block;
    width: 40px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    margin-left: 30px;
}
@media screen and (max-width: 767px) {
    .p-top-movie__btns {
        margin-top: 22px;
        margin-left: auto;
    }
}
.p-top-movie__btn {
    display: block;
    cursor: pointer;
}
.p-top-movie__btn:disabled {
    display: none;
    pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
    .p-top-movie__btn {
        overflow: visible !important;
    }
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .p-top-movie__btn {
        overflow: hidden;
    }
    .p-top-movie__btn img {
        backface-visibility: hidden;
        transform: translate3d(0, 0, 0);
        will-change: transform;
        transition: transform var(--hover-duration) cubic-bezier(0, -0.09, 0.1, 0.93);
        transform-origin: center center;
    }
    .p-top-movie__btn:hover img {
        transform: scale(var(--hover-transform-ratio));
    }
}

/* ---------------------------------------------
*   p-bg-pattern
--------------------------------------------- */
.p-bg-pattern {
    background: url(/jp/motorsports/assets/images/top/bg_pattern.png) center center repeat;
    background-size: 100% auto;
}
.p-bg-pattern:lang(en) {
    background: url(/en/motorsports/assets/images/top/bg_pattern.png) center center repeat;
    background-size: 100% auto;
}
@media screen and (min-width: 768px) {
    .p-bg-pattern--pv {
        padding-top: 200px;
        margin-top: -200px;
        padding-bottom: 44px;
    }
}
@media screen and (max-width: 767px) {
    .p-bg-pattern--pv {
        padding-bottom: 40px;
    }
}

/* ---------------------------------------------
*   p-top-fixed-bg
--------------------------------------------- */
.p-top-fixed-bg {
    position: relative;
}
@media screen and (max-width: 767px) {
    .p-top-fixed-bg {
        overflow: hidden;
    }
}
.p-top-fixed-bg__inner::before {
    content: "";
    display: block;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100lvh;
    background: url(/jp/motorsports/assets/images/top/bg_sponsorship.png) center/cover no-repeat;
    z-index: -1;
}
.p-top-fixed-bg__inner::before:lang(en) {
    background: url(/en/motorsports/assets/images/top/bg_sponsorship.png) center/cover no-repeat;
}

/* ---------------------------------------------
*   p-top-section-1
--------------------------------------------- */
.p-top-section-1 {
    padding-block: 120px;
}
@media screen and (max-width: 767px) {
    .p-top-section-1 {
        padding-block: 80px;
    }
}
.p-top-section-1:first-of-type {
    margin-top: -1px;
}
.p-top-section-1__container {
    padding-inline: calc(var(--contents-side-padding) * 1px);
    width: 100%;
    margin-inline: auto;
}
@media screen and (min-width: 768px) {
    .p-top-section-1__container {
        max-width: calc(var(--design-width) * 1px);
    }
}
.p-top-section-1__body {
    margin-top: 64px;
}
@media screen and (max-width: 767px) {
    .p-top-section-1__body {
        margin-top: 32px;
    }
}
.p-top-section-1__foot {
    margin-top: 64px;
}
.p-top-section-1__btn {
    width: -moz-fit-content;
    width: fit-content;
    min-width: 322px;
    margin-inline: auto;
}
@media screen and (max-width: 767px) {
    .p-top-section-1__btn {
        min-width: auto;
        width: 100%;
    }
}
.p-top-section-1__movie {
    display: block;
    aspect-ratio: 1275/717.19;
}

/* ---------------------------------------------
*   p-top-news
--------------------------------------------- */
.p-top-news {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: calc(40 / var(--contents-width) * 100%);
}
@media screen and (max-width: 767px) {
    .p-top-news {
        display: block;
    }
}
.p-top-news__main, .p-top-news__sub {
    width: calc(617 / var(--contents-width) * 100%);
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .p-top-news__main, .p-top-news__sub {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .p-top-news__sub {
        margin-top: 32px;
    }
}
.p-top-news__item {
    margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
    .p-top-news__item:last-of-type {
        margin-bottom: 25px;
    }
}

/* ---------------------------------------------
*   p-top-list-1
--------------------------------------------- */
.p-top-list-1 {
    margin-inline: auto;
}
@media screen and (max-width: 767px) {
    .p-top-list-1 {
        width: auto;
    }
}
.p-top-list-1__item {
    height: 100lvh;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (min-width: 768px) {
    .p-top-list-1__item {
        min-height: 787px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-list-1__item {
        height: 60lvh;
    }
}
@media (orientation: landscape) and (max-width: 767px) {
    .p-top-list-1__item {
        min-height: 400px;
    }
    .p-top-list-1__item .p-top-list-1__link {
        width: auto;
        height: 100%;
    }
    .p-top-list-1__item .p-top-list-1__pic {
        width: 100%;
        transform: none;
    }
    .p-top-list-1__item .p-top-list-1__names {
        bottom: 0;
    }
}
@media screen and (min-width: 768px) {
    .p-top-list-1__item:nth-of-type(2n + 1) .p-top-list-1__pic {
        margin-right: auto;
    }
}
.p-top-list-1__item:nth-of-type(2n + 1) .p-top-list-1__names {
    right: 0;
}
@media screen and (max-width: 767px) {
    .p-top-list-1__item:nth-of-type(2n + 1) .p-top-list-1__names {
        right: calc(-1px * var(--contents-side-padding));
    }
}
@media screen and (min-width: 768px) {
    .p-top-list-1__item:nth-of-type(2n) .p-top-list-1__pic {
        margin-left: auto;
    }
}
.p-top-list-1__item:nth-of-type(2n) .p-top-list-1__names {
    left: 0;
}
@media screen and (max-width: 767px) {
    .p-top-list-1__item:nth-of-type(2n) .p-top-list-1__names {
        left: calc(-1px * var(--contents-side-padding));
    }
}
.p-top-list-1__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .p-top-list-1__link .p-top-list-1__pic img {
        transition: transform 0.3s cubic-bezier(0, -0.09, 0.1, 0.93);
        transform-origin: center center;
    }
    .p-top-list-1__link:hover .p-top-list-1__pic img {
        transform: scale(1.02);
    }
}
@media screen and (max-width: 767px) {
    .p-top-list-1__link {
        width: 100%;
    }
}
.p-top-list-1__content {
    position: relative;
}
.p-top-list-1__pic {
    display: block;
    width: calc(880 / 1080 * 100%);
}
@media screen and (min-width: 768px) {
    .p-top-list-1__pic {
        min-width: 644px;
    }
}
@media screen and (max-width: 767px) {
    .p-top-list-1__pic {
        width: 133vw;
        position: relative;
        left: -20%;
    }
}
.p-top-list-1__pic img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
}
@media screen and (max-width: 767px) {
    .p-top-list-1__pic--irr img {
        -o-object-position: top 0 right 11vw;
           object-position: top 0 right 11vw;
    }
}
.p-top-list-1__names {
    position: absolute;
    bottom: 40px;
    padding-left: 13px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    width: 578px;
    aspect-ratio: 578/129;
    background: url(/jp/motorsports/assets/images/top/bg_heading-pattarn.png) center center no-repeat;
    background-size: contain;
}
.p-top-list-1__names:lang(en) {
    background: url(/en/motorsports/assets/images/top/bg_heading-pattarn.png) center center no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .p-top-list-1__names {
        bottom: -36px;
        padding-left: 17px;
        width: 358px;
        aspect-ratio: 358/100;
        background: url(/jp/motorsports/assets/images/top/sp/bg_heading-pattarn.png) center center no-repeat;
        background-size: contain;
    }
    .p-top-list-1__names:lang(en) {
        background: url(/en/motorsports/assets/images/top/sp/bg_heading-pattarn.png) center center no-repeat;
        background-size: contain;
    }
}
.p-top-list-1__names:lang(en) {
    justify-content: center;
}
.p-top-list-1__sub {
    display: block;
    color: var(--color-gray-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .p-top-list-1__sub {
        font-size: 14px;
    }
}
.p-top-list-1__ttl {
    display: block;
    width: 100%;
}
.p-top-list-1__ttl-txt {
    padding-right: 24px;
    display: inline;
    color: var(--color-white-1);
    font-size: calc(40 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.2;
}
@media screen and (max-width: 767px) {
    .p-top-list-1__ttl-txt {
        padding-right: 30px;
        font-size: 32px;
    }
}
.p-top-list-1__ttl-txt--nowrap {
    white-space: nowrap;
}
.p-top-list-1__ttl-arrow {
    display: inline-block;
    margin-left: calc(-24 / var(--root-fz) * 1rem);
    width: calc(24 / var(--root-fz) * 1rem);
    aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
    .p-top-list-1__ttl-arrow {
        margin-left: -24px;
        width: 20px;
    }
}
.p-top-list-1__ttl-arrow img {
    width: 100%;
    vertical-align: baseline;
}
.p-top-list-1__tag {
    position: relative;
    padding-inline: 3px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: 12px;
    background-color: var(--color-black-1);
    margin-top: 6px;
}
.p-top-list-1__tag::before {
    content: "";
    position: absolute;
    top: 0;
    left: -11px;
    width: 12px;
    height: 100%;
    background-color: var(--color-black-1);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
@media screen and (max-width: 767px) {
    .p-top-list-1__tag::before {
        left: -9px;
        width: 10px;
    }
}
.p-top-list-1__tag::after {
    content: "";
    position: absolute;
    top: 0;
    right: -11px;
    width: 12px;
    height: 100%;
    background-color: var(--color-black-1);
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}
@media screen and (max-width: 767px) {
    .p-top-list-1__tag::after {
        right: -9px;
        width: 10px;
    }
}
.p-top-list-1__tag-txt {
    color: var(--color-white-1);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    margin-top: 3px;
}
@media screen and (max-width: 767px) {
    .p-top-list-1__tag-txt {
        font-size: 14px;
        margin-top: 3px;
    }
}
@media screen and (max-width: 767px) {
    .android .p-top-list-1__tag-txt {
        margin-top: 1px;
    }
}

@media screen and (max-width: 767px) {
    .windows .p-top-list-1__tag-txt {
        margin-top: 2px;
    }
}

@media screen and (max-width: 767px) {
    .edge .p-top-list-1__tag-txt {
        margin-top: 1px;
    }
}

.ipad .p-top-list-1__tag-txt {
    margin-top: 1px;
}

.iphone .p-top-list-1__tag-txt {
    margin-top: 0px;
}

/* ---------------------------------------------
*   p-box-thumb
--------------------------------------------- */
/*  p-list-thumb
--------------------------------------------- */
.p-list-thumb {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: calc(16 / 765 * 100%);
    margin-top: 16px;
}
@media screen and (max-width: 767px) {
    .p-list-thumb {
        gap: calc(7 / 358 * 100%);
        margin-top: 8px;
    }
}
.p-list-thumb__item {
    width: calc(179 / 765 * 100%);
}
@media screen and (max-width: 767px) {
    .p-list-thumb__item {
        width: calc(84 / 358 * 100%);
    }
}
.p-list-thumb__button {
    display: block;
    width: 100%;
    cursor: pointer;
}
.is-current .p-list-thumb__button {
    pointer-events: none;
}

/*  p-box-thumb
--------------------------------------------- */
.p-box-thumb {
    position: relative;
    text-align: center;
    height: 100%;
    width: 100%;
    display: block;
    overflow: hidden;
}
.p-box-thumb::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    display: block;
    width: 101%;
    height: 101%;
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.7);
    opacity: 1;
    transition: opacity 0.3s, background-color 0.3s;
}
.is-current .p-box-thumb::before {
    opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
    .p-box-thumb:hover::before {
        background-color: rgba(0, 0, 0, 0.4);
    }
}
.p-box-thumb img {
    width: 100%;
    -o-object-position: center center;
       object-position: center center;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-box-thumb__names {
    color: var(--color-white-1);
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    padding-inline: 0.2em;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    opacity: 1;
    transition: opacity 0.3s;
}
.is-current .p-box-thumb__names {
    opacity: 0;
}

.p-box-thumb__name-l {
    display: block;
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.1818181818;
}
@media screen and (max-width: 767px) {
    .p-box-thumb__name-l {
        font-size: 16px;
    }
}
.p-box-thumb__name-s {
    display: block;
    font-size: calc(12 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
}
@media screen and (max-width: 1150px) {
    .p-box-thumb__name-s {
        display: none !important;
    }
}

/* ---------------------------------------------
*   p-supply-detail
--------------------------------------------- */
/*  p-list-detail
--------------------------------------------- */
.p-list-detail {
    display: flex;
    flex-direction: column;
}
.p-list-detail__item {
    display: none;
}
.p-list-detail__item.is-current {
    display: block;
}

/*  p-supply-detail
--------------------------------------------- */
.p-supply-detail {
    padding-inline: calc(48 / 510 * 100%) calc(90 / 510 * 100%);
}
@media screen and (max-width: 767px) {
    .p-supply-detail {
        padding-inline: 0;
    }
}
.p-supply-detail__link {
    display: block;
    pointer-events: none;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .p-supply-detail__link {
        transition: opacity var(--hover-duration);
    }
    .p-supply-detail__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.is-current .p-supply-detail__link {
    pointer-events: auto;
}

.p-supply-detail__term {
    position: relative;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-white-1);
}
.p-supply-detail__term::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    width: 1px;
    height: 13px;
    background-color: var(--color-white-1);
    transform: rotate(-48deg);
    transform-origin: bottom;
}
.p-supply-detail__sub-ttl {
    color: var(--color-gray-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .p-supply-detail__sub-ttl {
        font-size: 14px;
    }
}
.p-supply-detail__main-ttl {
    display: block;
    color: var(--color-white-1);
    font-size: calc(40 / var(--root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.2;
}
@media screen and (max-width: 767px) {
    .p-supply-detail__main-ttl {
        font-size: 32px;
    }
}
.p-supply-detail__desc {
    margin-top: 26px;
}
.p-supply-detail__content + .p-supply-detail__content {
    margin-top: 26px;
}
.p-supply-detail__list-lv1 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 5px;
}
.p-supply-detail__list-lv1 + .p-supply-detail__list-lv1 {
    margin-top: 24px;
}
.p-supply-detail__item--cat {
    width: calc(113 / 372.5 * 100%);
    min-width: 6em;
}
@media screen and (max-width: 1150px) {
    .p-supply-detail__item--cat {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .p-supply-detail__item--cat {
        width: calc(109 / 358 * 100%);
        min-width: 100px;
    }
}
.p-supply-detail__item--team {
    width: calc(243 / 372.5 * 100%);
}
@media screen and (max-width: 1150px) {
    .p-supply-detail__item--team {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .p-supply-detail__item--team {
        width: calc(233 / 358 * 100%);
        min-width: 100px;
    }
}
.p-supply-detail__term-lv1 {
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .p-supply-detail__term-lv1 {
        font-size: 16px;
    }
}
.p-supply-detail__desc-lv1 {
    margin-top: 8px;
}
.p-supply-detail__txt {
    display: block;
    color: var(--color-white-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 400;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .p-supply-detail__txt {
        font-size: 16px;
    }
}
.p-supply-detail__txt + .p-supply-detail__txt {
    margin-top: 8px;
}

/* ---------------------------------------------
*   p-slider-product
--------------------------------------------- */
.p-slider-product {
    display: grid;
    grid-template: auto 1fr/calc(765 / 1275 * 100%) calc(510 / 1275 * 100%);
    grid-template-areas: "b a" "b c";
}
@media screen and (max-width: 767px) {
    .p-slider-product {
        display: block;
    }
}
.p-slider-product + .p-slider-product {
    margin-top: 64px;
}
.p-slider-product__head {
    padding-top: min(85 / 548 * 100%, 85px);
    grid-area: a;
}
@media screen and (max-width: 767px) {
    .p-slider-product__head {
        padding-top: 0;
    }
}
.p-slider-product__body {
    grid-area: b;
}
.p-slider-product__body .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
    aspect-ratio: 765/430.31;
}
@media screen and (max-width: 767px) {
    .p-slider-product__body .swiper-slide img {
        aspect-ratio: 358/201.38;
    }
}
@media screen and (max-width: 767px) {
    .p-slider-product__body {
        margin-top: 24px;
    }
}
.p-slider-product__foot {
    grid-area: c;
    margin-top: 48px;
}
@media screen and (max-width: 767px) {
    .p-slider-product__foot {
        margin-top: 21px;
    }
}

/* ---------------------------------------------
*   background-color
--------------------------------------------- */
.bg-white {
    background-color: var(--color-white-1) !important;
}

/* ---------------------------------------------
*   font-wight
--------------------------------------------- */
.fw-normal {
    font-weight: 500 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

/* ---------------------------------------------
*   text-align
--------------------------------------------- */
.txt-al-center {
    text-align: center !important;
}

.txt-al-right {
    text-align: right !important;
}

.txt-al-left {
    text-align: left !important;
}

/* ---------------------------------------------
*   スクロールアニメーション
--------------------------------------------- */
/*  左にスライドイン
--------------------------------------------- */
.js-slide-ltr {
    opacity: 0;
    transform: translateX(-50px);
}
.js-slide-ltr.is-active {
    transform: translateX(0);
    opacity: 1;
    transition: transform 0.5s ease-in-out, opacity 0.8s ease-in-out;
}

/*  右にスライドイン
--------------------------------------------- */
.js-slide-rtl {
    opacity: 0;
    transform: translateX(50px);
}
.js-slide-rtl.is-active {
    transform: translateX(0);
    opacity: 1;
    transition: transform 0.5s ease-in-out, opacity 0.8s ease-in-out;
}

/* ---------------------------------------------
*   タブ切り替え
--------------------------------------------- */
.js-tab-target {
    display: none;
}
.js-tab-target.is-current {
    display: block;
}

/*  .js-pagetop-threshold (JSで追加する閾値調整用の要素)
--------------------------------------------- */
.js-elevator-menu {
    opacity: 0;
    transition: opacity 0.3s;
}
.js-elevator-menu.is-show {
    opacity: 1;
}

@media print and (min-width: 768px), screen and (min-width: 768px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 767px), screen and (max-width: 767px) {
    .sp-hide {
        display: none !important;
    }
}
@media print and (max-width: 1024px), screen and (max-width: 1024px) {
    .tb-hide {
        display: none !important;
    }
}
.visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    width: 1px;
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
}

/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 767px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: 5px !important;
    }
    .mgt-sp--10 {
        margin-top: 10px !important;
    }
    .mgt-sp--15 {
        margin-top: 15px !important;
    }
    .mgt-sp--20 {
        margin-top: 20px !important;
    }
    .mgt-sp--25 {
        margin-top: 25px !important;
    }
    .mgt-sp--30 {
        margin-top: 30px !important;
    }
    .mgt-sp--35 {
        margin-top: 35px !important;
    }
    .mgt-sp--40 {
        margin-top: 40px !important;
    }
    .mgt-sp--45 {
        margin-top: 45px !important;
    }
    .mgt-sp--50 {
        margin-top: 50px !important;
    }
    .mgt-sp--55 {
        margin-top: 55px !important;
    }
    .mgt-sp--60 {
        margin-top: 60px !important;
    }
    .mgt-sp--65 {
        margin-top: 65px !important;
    }
    .mgt-sp--70 {
        margin-top: 70px !important;
    }
    .mgt-sp--75 {
        margin-top: 75px !important;
    }
    .mgt-sp--80 {
        margin-top: 80px !important;
    }
    .mgt-sp--85 {
        margin-top: 85px !important;
    }
    .mgt-sp--90 {
        margin-top: 90px !important;
    }
    .mgt-sp--95 {
        margin-top: 95px !important;
    }
    .mgt-sp--100 {
        margin-top: 100px !important;
    }
    .mgt-sp--105 {
        margin-top: 105px !important;
    }
    .mgt-sp--110 {
        margin-top: 110px !important;
    }
    .mgt-sp--115 {
        margin-top: 115px !important;
    }
    .mgt-sp--120 {
        margin-top: 120px !important;
    }
    .mgt-sp--125 {
        margin-top: 125px !important;
    }
    .mgt-sp--130 {
        margin-top: 130px !important;
    }
    .mgt-sp--135 {
        margin-top: 135px !important;
    }
    .mgt-sp--140 {
        margin-top: 140px !important;
    }
    .mgt-sp--145 {
        margin-top: 145px !important;
    }
    .mgt-sp--150 {
        margin-top: 150px !important;
    }
    .mgt-sp--155 {
        margin-top: 155px !important;
    }
    .mgt-sp--160 {
        margin-top: 160px !important;
    }
    .mgt-sp--165 {
        margin-top: 165px !important;
    }
    .mgt-sp--170 {
        margin-top: 170px !important;
    }
    .mgt-sp--175 {
        margin-top: 175px !important;
    }
    .mgt-sp--180 {
        margin-top: 180px !important;
    }
    .mgt-sp--185 {
        margin-top: 185px !important;
    }
    .mgt-sp--190 {
        margin-top: 190px !important;
    }
    .mgt-sp--195 {
        margin-top: 195px !important;
    }
    .mgt-sp--200 {
        margin-top: 200px !important;
    }
    .mgt-sp--205 {
        margin-top: 205px !important;
    }
    .mgt-sp--210 {
        margin-top: 210px !important;
    }
    .mgt-sp--215 {
        margin-top: 215px !important;
    }
    .mgt-sp--220 {
        margin-top: 220px !important;
    }
    .mgt-sp--225 {
        margin-top: 225px !important;
    }
    .mgt-sp--230 {
        margin-top: 230px !important;
    }
    .mgt-sp--235 {
        margin-top: 235px !important;
    }
    .mgt-sp--240 {
        margin-top: 240px !important;
    }
    .mgt-sp--245 {
        margin-top: 245px !important;
    }
    .mgt-sp--250 {
        margin-top: 250px !important;
    }
}
/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 767px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: 5px !important;
    }
    .mgb-sp--10 {
        margin-bottom: 10px !important;
    }
    .mgb-sp--15 {
        margin-bottom: 15px !important;
    }
    .mgb-sp--20 {
        margin-bottom: 20px !important;
    }
    .mgb-sp--25 {
        margin-bottom: 25px !important;
    }
    .mgb-sp--30 {
        margin-bottom: 30px !important;
    }
    .mgb-sp--35 {
        margin-bottom: 35px !important;
    }
    .mgb-sp--40 {
        margin-bottom: 40px !important;
    }
    .mgb-sp--45 {
        margin-bottom: 45px !important;
    }
    .mgb-sp--50 {
        margin-bottom: 50px !important;
    }
    .mgb-sp--55 {
        margin-bottom: 55px !important;
    }
    .mgb-sp--60 {
        margin-bottom: 60px !important;
    }
    .mgb-sp--65 {
        margin-bottom: 65px !important;
    }
    .mgb-sp--70 {
        margin-bottom: 70px !important;
    }
    .mgb-sp--75 {
        margin-bottom: 75px !important;
    }
    .mgb-sp--80 {
        margin-bottom: 80px !important;
    }
    .mgb-sp--85 {
        margin-bottom: 85px !important;
    }
    .mgb-sp--90 {
        margin-bottom: 90px !important;
    }
    .mgb-sp--95 {
        margin-bottom: 95px !important;
    }
    .mgb-sp--100 {
        margin-bottom: 100px !important;
    }
    .mgb-sp--105 {
        margin-bottom: 105px !important;
    }
    .mgb-sp--110 {
        margin-bottom: 110px !important;
    }
    .mgb-sp--115 {
        margin-bottom: 115px !important;
    }
    .mgb-sp--120 {
        margin-bottom: 120px !important;
    }
    .mgb-sp--125 {
        margin-bottom: 125px !important;
    }
    .mgb-sp--130 {
        margin-bottom: 130px !important;
    }
    .mgb-sp--135 {
        margin-bottom: 135px !important;
    }
    .mgb-sp--140 {
        margin-bottom: 140px !important;
    }
    .mgb-sp--145 {
        margin-bottom: 145px !important;
    }
    .mgb-sp--150 {
        margin-bottom: 150px !important;
    }
    .mgb-sp--155 {
        margin-bottom: 155px !important;
    }
    .mgb-sp--160 {
        margin-bottom: 160px !important;
    }
    .mgb-sp--165 {
        margin-bottom: 165px !important;
    }
    .mgb-sp--170 {
        margin-bottom: 170px !important;
    }
    .mgb-sp--175 {
        margin-bottom: 175px !important;
    }
    .mgb-sp--180 {
        margin-bottom: 180px !important;
    }
    .mgb-sp--185 {
        margin-bottom: 185px !important;
    }
    .mgb-sp--190 {
        margin-bottom: 190px !important;
    }
    .mgb-sp--195 {
        margin-bottom: 195px !important;
    }
    .mgb-sp--200 {
        margin-bottom: 200px !important;
    }
    .mgb-sp--205 {
        margin-bottom: 205px !important;
    }
    .mgb-sp--210 {
        margin-bottom: 210px !important;
    }
    .mgb-sp--215 {
        margin-bottom: 215px !important;
    }
    .mgb-sp--220 {
        margin-bottom: 220px !important;
    }
    .mgb-sp--225 {
        margin-bottom: 225px !important;
    }
    .mgb-sp--230 {
        margin-bottom: 230px !important;
    }
    .mgb-sp--235 {
        margin-bottom: 235px !important;
    }
    .mgb-sp--240 {
        margin-bottom: 240px !important;
    }
    .mgb-sp--245 {
        margin-bottom: 245px !important;
    }
    .mgb-sp--250 {
        margin-bottom: 250px !important;
    }
}