.kr {
    font-family: "kozuka-gothic-pr6n", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.km {
    font-family: "kozuka-gothic-pr6n", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.kb {
    font-family: "kozuka-gothic-pr6n", sans-serif;
    font-weight: 700;
    font-style: normal;
}

/* --- PC表示でのみ適用するスタイル --- */
/* body:not(.is-sp) {
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
}

body:not(.is-sp) .main {
    touch-action: none;
} */
/* --- ------------------------- --- */

html {
    width: 100%;
    /* height: 100%; */
    margin: 0;
}

body {
    width: 100%;
}

img {
    display: block;
    width: 100%;
    height: auto;
}

.js-scroll-content {
    transform: translate3d(0, 0, 0);
}

.custom-scrollbar {
    position: fixed;
    top: 24px;
    right: 88px;
    z-index: 60;
    width: 8px;
    height: calc(100dvh - 48px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.custom-scrollbar.is-active {
    opacity: 1;
}

.custom-scrollbar__track {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 999px;
    overflow: hidden;
}

.custom-scrollbar__thumb {
    position: absolute;
    top: 0;
    width: 100%;
    min-height: 40px;
    background: #14A79F;
    border-radius: 999px;
    transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 768px) {
    .wrap-container, .main {
        overflow: visible !important;
    }

    .custom-scrollbar {
        display: none !important;
    }
}

.p-hero__container {
    max-width: 1600px;
}

/* News Toggle Animation fix */
#close-page.is-animating-close {
    height: 100%;
    object-fit: cover;
    object-position: top;
}

/* Page Top Button Style */
.page-top {
    cursor: pointer;
}

/* SP layout overrides for custom scroll */
body.is-sp .wrap,
body.is-sp .wrap-container,
body.is-sp main.js-scroll-viewport {
    position: static;
    height: auto;
    overflow: visible;
    width: 100%;
}

body.is-sp .wrap-container {
    padding-right: 0;
}

body.is-sp .js-scroll-content {
    transform: none !important; /* Overwrite inline style from custom scroll */
}

/* Force horizontal centering for SP footer in menu */
body.is-sp .footer-inner {
    transform: translateX(-50%) !important; /* Overwrite GSAP inline styles */
}