.guidebook-page {
    margin: 0;
    background: #111;
    background-image: url("../images/icon/img_icon_back.webp");
    background-position: center top;
    background-repeat: repeat;
    background-size: 1024px auto;

    color: #fff;
}

.guidebook {
    width: min(100%, 1600px);
    margin: 0 auto;
    padding: 40px 20px 80px;
    box-sizing: border-box;
}

.guidebook__header {
    margin-bottom: 24px;
    text-align: center;

    color: #fff;

    -webkit-text-stroke: 2px #000;
    paint-order: stroke fill;
}

.guidebook__title {
    margin: 0;
}

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

.guidebook__title img {
    width: min(48vw, 820px);
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.guidebook__notice {
    margin: 12px 0 0;
    font-size: 18px;
    opacity: 0.8;

    -webkit-text-stroke: 1px #000;
    paint-order: stroke fill;


}

/* ピンチ操作の案内はスマホ版のみ表示 */
.guidebook__pinch-note {
    display: none;
}

.guidebook-viewer {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.guidebook-viewer__viewport {
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
    background: rgba(34, 34, 34, 0.5);
}

.guidebook-viewer__track {
    display: flex;
    transition: transform 0.35s ease;
    will-change: transform;
}

.guidebook-viewer__page {
    flex: 0 0 100%;
    width: 100%;
}

.guidebook-viewer__page picture {
    display: block;
}

.guidebook-viewer__page img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    pointer-events: none;
}


/* 「公式サイトへ戻る」下の余白を詰める */
.guidebook {
    padding-bottom: 40px;
}

.guidebook-page .l-footer__guide {
    padding-top: 4vw;
}



@media (min-width: 768px) {
    .guidebook-viewer__page {
        height: min(103.68vh, 1296px);
        min-height: 748.8px;
        padding: 24px 0;
        box-sizing: border-box;
    }

    .guidebook-viewer__page picture {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
    }

    .guidebook-viewer__page img {
        width: auto;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        margin: 0 auto;
        object-fit: contain;
    }
}

    .guidebook-viewer__button {
     display: flex;
     align-items: center;
     justify-content: center;

     width: 56px;
     height: 56px;
     padding: 0;
     border: 0;
     border-radius: 50%;

     background: rgba(255, 255, 255, 0.9);
     color: #111;
     cursor: pointer;

    font-size: 0;
}

   .guidebook-viewer__button::before {
    content: "";
    width: 18px;
    height: 18px;

    border-top: 5px solid currentColor;
    border-right: 5px solid currentColor;

    transform: rotate(45deg);
}

/* 左矢印 */
.guidebook-viewer__button--prev::before {
    transform: translateX(3px) rotate(-135deg);
}

/* 右矢印 */
.guidebook-viewer__button--next::before {
    transform: translateX(-3px) rotate(45deg);
}

.guidebook-viewer__button:disabled {
    opacity: 0.3;
    cursor: default;
}

.guidebook-pagination {
    margin-top: 20px;
    text-align: center;
    font-size: 24px;
}

.guidebook__back {
    margin-top: 32px;
    text-align: center;
}

.guidebook__back a {
    color: #fff;
    font-size: 30px;
    font-weight: 700;

  -webkit-text-stroke: 1px #000;
    paint-order: stroke fill;

}


@media (max-width: 767px) {
    .guidebook {
        padding: 72px 0 50px;
    }

    .guidebook__header {
        padding: 0 16px;
        margin-bottom: 16px;
    }

    .guidebook__title img {
        width: min(78vw, 420px);
        max-width: 100%;
    }

    .guidebook__notice {
        margin-top: 8px;
        font-size: 14px;
    }

    .guidebook__pinch-note {
        display: inline;
    }

     .guidebook__back a {
        font-size: 18px;
        -webkit-text-stroke: 1px #000;
    }

    .guidebook-viewer {
        display: block;
    }

    .guidebook-viewer__viewport {
        border-radius: 0;

        /*
         * 小冊子の上ではブラウザ標準のピンチズームを許可。
         * 自作ズームは使わないので、反応の軽さを優先する。
         */
        touch-action: pan-y pinch-zoom;
    }

    .guidebook-viewer__button {
        position: absolute;
        top: 50%;
        z-index: 2;
        width: 42px;
        height: 42px;
        font-size: 28px;
        transform: translateY(-50%);
    }

    .guidebook-viewer__button {
    display: none;
    }

    .guidebook-viewer__button--prev {
        left: 8px;
    }

    .guidebook-viewer__button--next {
        right: 8px;
    }

    .guidebook {
        padding-bottom: 20px;
    }

    .guidebook-page .l-footer__guide {
        padding-top: 6vw;
    }

   .guidebook-page {
    background-size: 100% auto;
    background-position: center top;
    background-repeat: repeat-y;
    }


}
