@charset "UTF-8";

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #fff;
    background-color: #fff;
    line-height: 1.6;
    font-family: 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN',
        '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'YuGothic',
        'メイリオ', 'Meiryo', 'verdana', sans-serif;
    font-size: 14px;
}

.section-header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 4;
    font-weight: 700;
    text-align: center;
    height: 44px;
    white-space: nowrap;
    transform: scaleX(0.6);
    letter-spacing: 0.04em;
}

.section-header span {
    display: inline;
}

.section-header span br {
    display: none;
}

.section-header h1 {
    line-height: 44px;
    color: #000;
    font-size: 13px;
}

/* .image {
    margin-top: 44px;
} */

.image-item .sp-small {
    padding-left: 9%;
    padding-right: 9%;
}

.btn-close {
    position: fixed;
    right: 12px;
    top: 11px;
    display: block;
    z-index: 8;
    font-size: 12px;
}
.image .image-thumbnail-menu {
    position: fixed;
    top: 11px;
    left: 12px;
    z-index: 5;
    cursor: pointer;
    color: #000;
    font-size: 12px;
}

.image .image-thumbnail-menu .icon-b {
    display: block;
}

.image .image-thumbnail-menu .icon-w {
    display: none;
}

.image .image-thumbnail {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 14;
    width: 0;
    overflow: hidden;
}

.image .image-thumbnail .image-thumbnail-inner {
    padding: 0;
    width: 100%;
    height: 100svh;
    background-color: #000;
    position: relative;
}

.image .image-thumbnail .image-thumbnail-inner ul {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: min(550px, 550 / 750 * 100vw);
    max-width: 400px !important;
    gap: 5px;
}

.image .image-thumbnail .image-thumbnail-inner ul li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: relative;
}

.image .image-thumbnail .image-thumbnail-inner ul li a,
.image .image-thumbnail .image-thumbnail-inner ul li img {
    display: block;
}

.image .image-thumbnail .image-thumbnail-inner ul li img {
    /* max-width: 100%; */
    height: auto;
    position: relative;
    z-index: 1;
}

.image .image-thumbnail .image-thumbnail-inner ul li a:hover:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    background-color: rgba(255, 255, 255, 0.6);
}

.image-thumbnail-close {
    color: #fff;
    font-size: 12px;
    position: absolute;
    left: 12px;
    top: 11px;
}

.sub_text {
    position: absolute;
    font-size: 12px;
    bottom: 12px;
    left: 12px;
}

.image .image-list .modal-item .modal {
    padding: 10px;
    display: block;
    width: 12px;
    height: 12px;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
}

.image .image-list .modal-item .modal::before,
.image .image-list .modal-item .modal::after {
    content: '';
    border-radius: 50%;
    display: block;
    background-color: rgba(255, 255, 255, 0.35);
}

.image .image-list .modal-item .modal::after {
    background-color: rgba(255, 255, 255, 0.35);
}

/* .modal-item a[href=''] {
    pointer-events: none;
} */

.image .image-list .modal-item .modal:hover:before {
    opacity: 1;
    transform: scale(1);
}

.image .image-list .modal-item .modal:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 32px;
    -webkit-animation: pulse-dot 3s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s
        infinite;
    animation: pulse-dot 3s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s infinite;
}

@-webkit-keyframes pulse-ring {
    0% {
        -webkit-transform: scale(0.33);
        transform: scale(0.33);
    }

    80%,
    100% {
        opacity: 0;
    }
}

@keyframes pulse-ring {
    0% {
        -webkit-transform: scale(0.33);
        transform: scale(0.33);
    }

    80%,
    100% {
        opacity: 0;
    }
}

@-webkit-keyframes pulse-dot {
    0% {
        -webkit-transform: scale(0.53);
        transform: scale(0.53);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: scale(0.53);
        transform: scale(0.53);
    }
}

@keyframes pulse-dot {
    0% {
        -webkit-transform: scale(0.53);
        transform: scale(0.53);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: scale(0.53);
        transform: scale(0.53);
    }
}

/* [data-aos='fade-up'] {
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1) !important;
    transition-duration: 2s !important;
    transition-delay: 0.2s !important;
} */

.footer {
    background: #fff;
    border-top: 1px solid #e5e5e5;
}

.page {
    position: fixed;
    bottom: 11px;
    left: 12px;
    font-size: 12px;
    color: #000;
}

.image-list {
    overflow-y: scroll;
    height: 100svh;
    scroll-snap-type: mandatory;
    scroll-snap-points-y: repeat(100svh);
    scroll-snap-type: y mandatory;
}

.image-list li {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100svh;
    scroll-snap-align: start;
    position: relative;
}

.image-list li img {
    width: max(260px, 260 / 375 * 100vw);
}

.image-list li:nth-child(3),
.image-list li:nth-child(4),
.image-list li:nth-child(7) {
    background-color: #000;
}

.image .image-list .modal-item.item-circle-01 .modal {
    top: 47%;
    left: 50%;
    margin-left: -7vh;
}

.image .image-list .modal-item.item-circle-02 .modal {
    top: 53%;
    left: 50%;
    margin-left: 12vh;
}

.image .image-list .modal-item.item-circle-03 .modal {
    top: 69%;
    left: 50%;
    margin-left: 12vh;
}

.image .image-list .modal-item.item-circle-04 .modal {
    top: 40%;
    left: 50%;
    margin-left: -9vh;
}

.image .image-list .modal-item.item-circle-05 .modal {
    top: 47%;
    left: 50%;
    margin-left: 4vh;
}

.image .image-list .modal-item.item-circle-06 .modal {
    top: 66%;
    left: 50%;
    margin-left: -7.5vh;
}

.image .image-list .modal-item.item-circle-07 .modal {
    top: 60%;
    left: 50%;
    margin-left: -3vh;
}

.image .image-list .modal-item.item-circle-08 .modal {
    top: 44%;
    left: 50%;
    margin-left: -13vh;
}
.image .image-list .modal-item.item-circle-09 .modal {
    top: 55%;
    left: 50%;
    margin-left: 10vh;
}
.image .image-list .modal-item.item-circle-10 .modal {
    top: 48%;
    left: 50%;
    margin-left: -6vh;
}

.image .image-list .modal-item.item-circle-11 .modal {
    top: 50%;
    left: 50%;
    margin-left: 1.5vh;
}
.image .image-list .modal-item.item-circle-12 .modal {
    top: 63%;
    left: 50%;
    margin-left: 1vh;
}

.image .image-list .modal-item.item-circle-13 .modal {
    top: 47%;
    left: 50%;
    margin-left: -11vh;
}

.image .image-list .modal-item.item-circle-14 .modal {
    top: 48%;
    left: 50%;
    margin-left: -5vh;
}

.image .image-list .modal-item.item-circle-15 .modal {
    top: 55%;
    left: 50%;
    margin-left: 13vh;
}

.image .image-list .modal-item.item-circle-16 .modal {
    top: 67%;
    left: 50%;
    margin-left: -3.5vh;
}

.image .image-list .modal-item.item-circle-17 .modal {
    top: 41%;
    left: 50%;
    margin-left: 9vh;
}

.image .image-list .modal-item.item-circle-18 .modal {
    top: 68%;
    left: 50%;
    margin-left: -8vh;
}

.image .image-list .modal-item.item-circle-19 .modal {
    top: 48%;
    left: 50%;
    margin-left: -13vh;
}

.image .image-list .modal-item.item-circle-20 .modal {
    top: 35%;
    left: 50%;
    margin-left: -20vh;
}

main.active .page,
main.active .btn-close,
main.active .image-thumbnail-menu {
    color: #fff;
}
