.header .menu .logo img {
    width: 80px !important;
    transition: all .3s ease-in-out;
    will-change: width, transform;
    transform: translateZ(0);
}

.header .menu .logo.logoPair {
    width: auto !important;
    display: inline-flex !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    white-space: nowrap;
    margin-bottom: 0;
}

.header .menu .logo.logoPair:hover {
    opacity: 1;
}

.header .menu .logo.logoPair {
    pointer-events: none;
}

.header .menu .logo.logoPair a {
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto;
    pointer-events: auto;
}

.header .menu .logo.logoPair a:hover {
    opacity: 0.8;
}

.header .menu .logo.logoPair img {
    max-width: none;
    flex: 0 0 auto;
}

.header .menu .logo.logoPair a:first-of-type img {
    width: 64px !important;
}

.header .menu .logo.logoPair a:last-of-type img {
    width: 52px !important;
}

.wrapper {
    margin-top: 150px;
    z-index: auto;
}
    .headerKvSocial {
        display: none;
        will-change: opacity, transform;
        transform: translateZ(0);
    }

    .headerScrollSocialItem,
    .headerSpSocialItem {
        display: none;
    }

    .header .menuList .headerActionButtons .cmnBtn:hover,
    .header .menuList .headerActionButtons .cmnBtn:focus {
        color: #000;
    }

    .header .menuList .headerActionButtons .cmnBtn.cmnBtnReverse:hover,
    .header .menuList .headerActionButtons .cmnBtn.cmnBtnReverse:focus {
        color: #fff;
    }


    @media (min-width: 992px) {
        .headerLocaleItem {
            display: none;
        }

        .header .menuList {
            justify-content: flex-start;
            gap: 22px;
        }

        .header:not(.scroll) .menuList {
            gap: 30px;
        }

        .header .menuList > li {
            flex-shrink: 0;
        }

        .header .menuList > li > a {
            white-space: nowrap;
        }

        .header .menuList > li.headerActionItem {
            margin-left: auto;
        }

        .headerActionButtons {
            display: flex;
            flex-wrap: nowrap;
            justify-content: center;
            gap: 10px;
            white-space: nowrap;
        }

        .headerKvSocial {
            display: block;
            position: fixed;
            top: 104px;
            left: 0;
            width: 100%;
            z-index: 99;
            pointer-events: none;
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            transition: opacity .25s ease-in-out, visibility .25s ease-in-out, transform .25s ease-in-out;
        }

        .headerKvSocial .container {
            display: flex;
            justify-content: flex-end;
            max-width: none;
            padding-right: 24px;
        }

        .headerKvSocialInner {
            display: inline-flex;
            align-items: center;
            gap: 16px;
            padding: 14px 16px;
            background: rgba(0, 0, 0, 0.88);
            pointer-events: auto;
        }

        .headerKvSocial .snsList {
            display: flex;
            align-items: center;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .headerKvSocial .snsList li {
            margin: 0 7px 0 0;
            font-size: 2.0rem;
        }

        .headerKvSocial .snsList li:last-child {
            margin-right: 0;
        }

        .headerKvSocial .snsList a {
            color: #fff;
        }

        .headerKvSocial .snsList a:hover,
        .headerKvSocial .langList a:hover,
        .headerScrollSocial .snsList a:hover,
        .headerScrollSocial .langList a:hover {
            color: #c00000;
        }

        .headerKvSocial .langList {
            display: flex;
            margin: 0;
            padding: 0;
            list-style: none;
            font-family: "Oswald", "Noto Sans JP", Hiragino Sans, Hiragino Kaku Gothic ProN, "Meiryo", sans-serif;
        }

        .headerKvSocial .langList li {
            font-size: 1.5rem;
            padding: 0 0.5em;
            border-right: 1px solid #fff;
        }

        .headerKvSocial .langList li:last-child {
            border-right: 0;
        }

        .headerKvSocial .langList .current {
            color: #c00000;
        }

        .header.scroll + .headerKvSocial {
            opacity: 0;
            visibility: hidden;
            transform: translateY(-8px);
        }

        .headerScrollSocialItem {
            display: block;
            max-width: 0;
            margin-left: 0;
            overflow: hidden;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            white-space: nowrap;
            flex-shrink: 0;
            will-change: max-width, opacity, transform;
            transform: translate3d(8px, 0, 0);
            transition: max-width .3s ease-in-out, margin-left .3s ease-in-out, opacity .2s ease-in-out, visibility .2s ease-in-out, transform .3s ease-in-out;
        }

        .header.scroll .headerScrollSocialItem {
            max-width: 260px;
            margin-left: 6px;
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translate3d(0, 0, 0);
        }

        .headerScrollSocial {
            display: inline-flex;
            align-items: center;
            gap: 14px;
        }

        .headerScrollSocial .snsList,
        .headerScrollSocial .langList {
            display: flex;
            align-items: center;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .headerScrollSocial .snsList li {
            margin: 0 7px 0 0;
            font-size: 1.7rem;
        }

        .headerScrollSocial .snsList li:last-child {
            margin-right: 0;
        }

        .headerScrollSocial .snsList a {
            color: #fff;
        }

        .headerScrollSocial .langList {
            font-family: "Oswald", "Noto Sans JP", Hiragino Sans, Hiragino Kaku Gothic ProN, "Meiryo", sans-serif;
        }

        .headerScrollSocial .langList li {
            font-size: 1.4rem;
            padding: 0 0.5em;
            border-right: 1px solid #fff;
        }

        .headerScrollSocial .langList li:last-child {
            border-right: 0;
        }

        .headerScrollSocial .langList .current {
            color: #c00000;
        }

        .header.scroll .headerActionItem .cmnBtn {
            min-width: 118px;
            padding: 8px 9px;
            font-size: 1.15rem;
        }
    }

@media (max-width: 991px) {
    .header .menu .logo img {
        width: 60px !important;
    }

    .header .menu .logo.logoPair {
        gap: 6px;
    }

    .header .menu .logo.logoPair a:first-of-type img {
        width: 52px !important;
    }

    .header .menu .logo.logoPair a:last-of-type img {
        width: 42px !important;
    }

    .headerSpSocialItem {
            display: block;
        }

        .header .menuList {
            align-items: stretch;
            justify-content: flex-start;
            background: rgba(0, 0, 0, 0.58);
            padding: 96px 50px 32px;
        }

        .header .menuList > li {
            width: 100%;
            margin: 0;
        }

        .header .menuList > li > a {
            display: block;
            padding: 13px 0;
            line-height: 1.1;
            letter-spacing: 0.08em;
            white-space: nowrap;
        }

        .headerActionItem {
            margin-top: 12px !important;
            padding: 18px 0;
            border-top: 1px solid rgba(255, 255, 255, 0.8);
            border-bottom: 1px solid rgba(255, 255, 255, 0.8);
        }

        .headerActionButtons {
            display: flex;
            flex-wrap: nowrap;
            justify-content: space-between;
            gap: 14px;
        }

        .headerActionButtons .cmnBtn {
            flex: 1 1 0;
            min-width: 0;
            padding: 8px 6px;
        }

        .headerSpSocialItem {
            margin-top: 18px !important;
        }

        .headerSpSocialItem .snsList {
            display: flex;
            align-items: center;
            margin: 0;
            padding: 0;
        }

        .headerSpSocialItem .snsList li {
            margin-left: 45px !important;
        }

        .headerSpSocialItem .snsList li:first-child {
            margin-left: 0 !important;
        }

        .headerSpSocialItem .snsList a {
            color: #fff;
        }

        .headerLocaleItem {
            margin-top: 16px !important;
        }

        .headerLocaleItem .langList {
            justify-content: center;
        }

        .headerLocaleItem .langList li {
            padding: 0 0.55em;
        }

}
.header.scroll .menu .logo img {
    width: 40px !important;
}

.header.scroll .menu .logo.logoPair a:first-of-type img {
    width: 42px !important;
}

.header.scroll .menu .logo.logoPair a:last-of-type img {
    width: 34px !important;
}

.header .menu .snsList.snsListCompact .cmnBtn {
    min-width: 135px;
    padding: 9px 10px;
    font-size: 1.3rem;
}

.headerKvSocial {
    display: none;
    will-change: opacity, transform;
    transform: translateZ(0);
}

.headerScrollSocialItem,
.headerSpSocialItem {
    display: none;
}

.header .menuList .headerActionButtons .cmnBtn:hover,
.header .menuList .headerActionButtons .cmnBtn:focus {
    color: #000;
}

.header .menuList .headerActionButtons .cmnBtn.cmnBtnReverse:hover,
.header .menuList .headerActionButtons .cmnBtn.cmnBtnReverse:focus {
    color: #fff;
}

.footer .footerLinks a + a {
    margin-left: 2.6em;
}

.footer {
    margin-top: 80px;
}

@media (max-width: 991px) {
    .header .menu .snsList.snsListCompact .cmnBtn {
        min-width: 122px;
        padding: 8px 9px;
        font-size: 1.15rem;
    }

    .headerSpSocialItem {
        display: block;
    }

    .header .menuList {
        align-items: stretch;
        justify-content: flex-start;
        background: rgba(0, 0, 0, 0.90);
        padding: 96px 50px 32px;
    }

    .header .menuList > li {
        width: 100%;
        margin: 0;
    }

    .header .menuList > li > a {
        display: block;
        padding: 13px 0;
        line-height: 1.1;
        letter-spacing: 0.08em;
        white-space: nowrap;
    }

    .headerActionItem {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 12px !important;
        margin-bottom: 12px !important;
        padding: 18px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.8);
        border-bottom: 1px solid rgba(255, 255, 255, 0.8);
    }

    .headerMembershipLabel {
        display: block;
        width: 100%;
        margin: 0 0 14px;
        text-align: center;
        color: #fff;
        font-size: 1.4rem;
        line-height: 1.4;
        letter-spacing: 0.08em;
    }

    .headerActionButtons {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        width: 100%;
        gap: 14px;
    }

    .headerActionButtons .cmnBtn {
        flex: 1 1 0;
        min-width: 0;
        padding: 8px 6px;
    }

    .headerSpSocialItem {
        margin-top: 18px !important;
    }

    .headerSpSocialItem .snsList {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 0;
    }

    .headerSpSocialItem .snsList li {
        margin-left: 45px !important;
    }

    .headerSpSocialItem .snsList li:first-child {
        margin-left: 0 !important;
    }

    .headerSpSocialItem .snsList a {
        color: #fff;
    }

    .headerLocaleItem {
        margin-top: 16px !important;
    }

    .headerLocaleItem .langList {
        justify-content: center;
    }

    .headerLocaleItem .langList li {
        padding: 0 0.55em;
    }
}

@media (min-width: 992px) {
    .headerLocaleItem {
        display: none;
    }

    .header .menuList {
        justify-content: flex-start;
        gap: 22px;
    }

    .header:not(.scroll) .menuList {
        gap: 30px;
    }

    .header .menuList > li {
        flex-shrink: 0;
    }

    .header .menuList > li > a {
        white-space: nowrap;
    }

    .header .menuList > li.headerPrimaryItem {
        order: 0;
    }

    .header .menuList > li.headerActionItem {
        margin-left: 0;
        order: 2;
    }

    .header .menuList > li.headerScrollSocialItem {
        order: 3;
    }

    .headerActionButtons {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        gap: 10px;
        white-space: nowrap;
    }

    .headerKvSocial {
        display: block;
        position: fixed;
        top: 104px;
        left: 0;
        width: 100%;
        z-index: 99;
        pointer-events: none;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        transition: opacity .25s ease-in-out, visibility .25s ease-in-out, transform .25s ease-in-out;
    }

    .headerKvSocial .container {
        display: flex;
        justify-content: flex-end;
        max-width: none;
        padding-right: 24px;
    }

    .headerKvSocialInner {
        display: inline-flex;
        align-items: center;
        gap: 16px;
        padding: 14px 16px;
        background: rgba(0, 0, 0, 0.88);
        pointer-events: auto;
    }

    .headerKvSocial .snsList {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .headerKvSocial .snsList li {
        margin: 0 7px 0 0;
        font-size: 2.0rem;
    }

    .headerKvSocial .snsList li:last-child {
        margin-right: 0;
    }

    .headerKvSocial .snsList a {
        color: #fff;
    }

    .headerKvSocial .snsList a:hover,
    .headerKvSocial .langList a:hover,
    .headerScrollSocial .snsList a:hover,
    .headerScrollSocial .langList a:hover {
        color: #c00000;
    }

    .headerKvSocial .langList {
        display: flex;
        margin: 0;
        padding: 0;
        list-style: none;
        font-family: "Oswald", "Noto Sans JP", Hiragino Sans, Hiragino Kaku Gothic ProN, "Meiryo", sans-serif;
    }

    .headerKvSocial .langList li {
        font-size: 1.5rem;
        padding: 0 0.5em;
        border-right: 1px solid #fff;
    }

    .headerKvSocial .langList li:last-child {
        border-right: 0;
    }

    .headerKvSocial .langList .current {
        color: #c00000;
    }

    .header.scroll + .headerKvSocial {
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
    }

    .headerScrollSocialItem {
        display: block;
        max-width: 0;
        margin-left: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        white-space: nowrap;
        flex-shrink: 0;
        will-change: max-width, opacity, transform;
        transform: translate3d(8px, 0, 0);
        transition: max-width .3s ease-in-out, margin-left .3s ease-in-out, opacity .2s ease-in-out, visibility .2s ease-in-out, transform .3s ease-in-out;
    }

    .header.scroll .headerScrollSocialItem {
        max-width: 260px;
        margin-left: 6px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate3d(0, 0, 0);
    }

    .headerScrollSocial {
        display: inline-flex;
        align-items: center;
        gap: 14px;
    }

    .headerScrollSocial .snsList,
    .headerScrollSocial .langList {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .headerScrollSocial .snsList li {
        margin: 0 7px 0 0;
        font-size: 1.7rem;
    }

    .headerScrollSocial .snsList li:last-child {
        margin-right: 0;
    }

    .headerScrollSocial .snsList a {
        color: #fff;
    }

    .headerScrollSocial .langList {
        font-family: "Oswald", "Noto Sans JP", Hiragino Sans, Hiragino Kaku Gothic ProN, "Meiryo", sans-serif;
    }

    .headerScrollSocial .langList li {
        font-size: 1.4rem;
        padding: 0 0.5em;
        border-right: 1px solid #fff;
    }

    .headerScrollSocial .langList li:last-child {
        border-right: 0;
    }

    .headerScrollSocial .langList .current {
        color: #c00000;
    }

    .header.scroll .headerActionItem .cmnBtn {
        min-width: 118px;
        padding: 8px 9px;
        font-size: 1.15rem;
    }
}

.cdlnews {
    background: #000;
    padding-top: 50px;
    padding-bottom: 50px;
}

.cdlBlock {
    position: relative;
    z-index: 10;
    background: #000;
}

.cdlAbout {
    background: #000;
    padding-top: 50px;
    padding-bottom: 50px;
}

.cdlAbout .container {
    text-align: center;
}

.cdlAbout-image {
    margin-bottom: 28px;
}

.cdlAbout-image img {
    display: inline-block;
    max-width: 100%;
}

.cdlAbout-text {
    margin-bottom: 28px;
    text-align: center;
    font-size: 1.6rem;
    line-height: 2;
}

.cdlAbout-text p {
    display: inline-block;
    margin-bottom: 0;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2.1;
}

.cdlAbout-button {
    margin-bottom: 0;
}

.cdlInfo {
    margin-top: 0px;
}

.cdlInfo-title {
    margin-bottom: 20px;
}

.cdlInfo-lead {
    margin-bottom: 0;
    font-size: 1.6rem;
    line-height: 2;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.4rem;
    line-height: 2.1;
}

.cdlInfo-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 45px;
}

.cdlPhoto {
    margin-top: 0px;
    text-align: center;
}

.cdlPhoto-image {
    margin-bottom: 0px;
}

.cdlPhoto-image img {
    display: inline-block;
    max-width: 100%;
}

.cdlPhoto-button {
    margin-top: 42px;
    margin-bottom: 0;
}

#cdlnews {
    background: #000;
}

.cdlLineWrap {
    position: relative;
    z-index: 10;
    background: #000;
    padding: 32px 0;
}

.cdlLine {
    display: block;
    width: 100%;
    max-width: 1080px;
    height: 0;
    min-height: 0;
    max-height: none;
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-top: 1px solid #535252;
    box-sizing: border-box;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    background: transparent;
}

.cmnBtn.cmnBtnReverse {
    background: #fff;
    color: #000;
}

.cmnBtn.cmnBtnReverse:after {
    background: #000;
}

.cmnBtn.cmnBtnReverse:hover {
    color: #fff;
}

@media (max-width: 991px) {
    .cdlAbout .container {
        /* padding-top: 40px;
        padding-bottom: 40px; */
    }

    .cdlAbout-image {
        margin-bottom: 20px;
    }

    .cdlAbout-text {
        margin-bottom: 22px;
        font-size: 1.4rem;
        line-height: 1.9;
    }

    .cdlAbout-text p {
        width: 80%;
    }

    .cdlInfo {
        margin-top: 0px;
    }

    .cdlInfo-title {
        margin-bottom: 16px;
    }

    .cdlInfo-lead {
        font-size: 1.4rem;
    }

    .cdlInfo-buttons {
        gap: 10px;
        margin-top: 22px;
    }

    .cdlPhoto {
        margin-top: 0px;
    }

    .cdlPhoto-image {
        margin-bottom: 22px;
    }

    .cdlLine {
        width: calc(100% - 50px);
        max-width: none;
    }
}

.header .snsList a[href*="twitter.com"] .fa-twitter {
    --fa: "\e61b";
}

.kvBgSlider,
.kvBgSlider .swiper-wrapper,
.kvBgSlider .swiper-slide,
.kvBgSlider picture {
    width: 100%;
    height: 100%;
}

.kvBgSlider picture,
.kvBgSlider img {
    display: block;
}

.kvBg:after {
    pointer-events: none;
    background: rgba(0, 0, 0, 0.3);
}

.kvBgSlider {
    position: relative;
}

.kvBgSlider .swiper-slide.kvSlideOverlay {
    position: relative;
}

.kvBgSlider .swiper-slide.kvSlideOverlay:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
    z-index: 1;
}

br.sp {
    display: none;
}

br.pc {
    display: inline;
}

.kvBgSliderNav {
    color: #fff;
    z-index: 3;
    width: 64px;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    text-shadow: 0 0 12px rgba(0, 0, 0, 0.45);
    transition: opacity .25s ease-in-out, visibility .25s ease-in-out;
}

.kvBgSliderNav.prev {
    left: 12px;
}

.kvBgSliderNav.next {
    right: 12px;
}

.kvBgSliderNav:focus,
.kvBgSliderNav:active {
    outline: none;
    box-shadow: none;
}

.kvBg:hover .kvBgSliderNav {
    opacity: 0.6;
    visibility: visible;
    pointer-events: auto;
}

@media (max-width: 991px) {
    .kvBgSliderNav {
        width: 48px;
        font-size: 3.6rem;
    }

    .kvBgSliderNav.prev {
        left: 6px;
    }

    .kvBgSliderNav.next {
        right: 6px;
    }
}

@media only screen and (max-width: 750px) {
    .cdlAbout-image img {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    br.sp {
        display: inline;
    }

    br.pc {
        display: none;
    }
}

@media (min-width: 992px) {
    .headerWrapperInlineSocial .headerKvSocial {
        display: none;
    }

    .headerWrapperInlineSocial .headerScrollSocialItem {
        display: block;
        max-width: none;
        margin-left: 6px;
        overflow: visible;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: none;
    }

    .headerWrapperInlineSocial .header.scroll .headerScrollSocialItem {
        max-width: none;
        margin-left: 6px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }

    .headerWrapperInlineSocial .headerScrollSocial {
        gap: 14px;
    }
}

.headerMenuFooterItem {
    display: none;
}

.headerSpOnlyItem {
    display: none;
}

.headerSpMessageItem {
    display: none;
}

.headerSpDividerItem {
    display: none;
}

.headerSpMutedItem span {
    color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 991px) {
    .headerSpOnlyItem {
        display: block;
    }

    .headerSpMessageItem {
        display: block;
        margin-top: 18px !important;
    }

    .headerSpDividerItem {
        display: block;
        margin-top: 18px !important;
        padding-top: 18px;
        border-top: 1px solid rgba(255, 255, 255, 0.8);
    }

    .header .menuList > li.headerActionItem {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        order: 1;
    }

    .header .menuList > li.headerSpOnlyItem {
        order: 2;
    }

    .header .menuList > li.headerSpDividerItem {
        order: 3;
    }

    .header .menuList > li.headerPrimaryItem {
        order: 4 !important;
    }

    .header .menuList > li.headerSpSocialItem {
        order: 5;
    }

    .header .menuList > li.headerLocaleItem {
        order: 6;
    }

    .header .menuList > li.headerMenuFooterItem {
        order: 7;
    }

    .header .menuList > li.headerActionItem .headerMembershipLabel {
        display: block;
        width: 100%;
        margin: 0 0 14px;
        text-align: center;
        color: #fff;
    }

    .header .menuList > li.headerActionItem .headerActionButtons {
        width: 100%;
        justify-content: space-between;
    }

    .headerMenuFooterItem {
        display: block;
        margin-top: 18px !important;
        padding-top: 18px;
        border-top: 1px solid rgba(255, 255, 255, 0.35);
    }

    .headerMenuFooterLinks {
        margin: 0;
    }

    .headerMenuFooterLinks a {
        display: block;
        padding: 9px 0;
        color: #fff;
        line-height: 1.4;
        letter-spacing: 0.04em;
        white-space: normal;
    }

    .footer .footerLinks {
        display: none;
    }
}

.swiper-button,
.swiper-button-prev,
.swiper-button-next {
    -webkit-tap-highlight-color: transparent;
}

.swiper-button:focus,
.swiper-button:active,
.swiper-button-prev:focus,
.swiper-button-prev:active,
.swiper-button-next:focus,
.swiper-button-next:active {
    outline: none;
    box-shadow: none;
}
