/**
 * Swiper 12.0.3 Lite Custom Build
 * Modules: Core, Navigation, Pagination, Scrollbar, Fade, Thumbs
 * Optimized for: 加藤さんの独立要塞
 */

:root {
  --swiper-theme-color: #007aff;
  --swiper-navigation-size: 44px;
}

/* --- Core Module --- */
.swiper { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; list-style: none; padding: 0; z-index: 1; display: block; }
.swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: flex; transition-property: transform; transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial); box-sizing: content-box; }
.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper { transform: translate3d(0, 0, 0); }
.swiper-horizontal { touch-action: pan-y; }
.swiper-vertical { touch-action: pan-x; }
.swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: transform; block-size: 100%; }
.swiper-slide-invisible-blank { visibility: hidden; }
.swiper-autoheight, .swiper-autoheight .swiper-slide { height: auto; }
.swiper-autoheight .swiper-wrapper { align-items: flex-start; transition-property: transform, height; }

/* --- Navigation --- */
.swiper-button-next, .swiper-button-prev { position: absolute; top: var(--swiper-navigation-top-offset, 50%); width: calc(var(--swiper-navigation-size) / 44 * 27); height: var(--swiper-navigation-size); margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); z-index: 10; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--swiper-navigation-color, var(--swiper-theme-color)); }
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; }
.swiper-button-next:after, .swiper-button-prev:after { font-family: swiper-icons; font-size: var(--swiper-navigation-size); text-transform: none !important; letter-spacing: 0; font-variant: normal; line-height: 1; }
.swiper-button-prev:after { content: 'prev'; } .swiper-button-next:after { content: 'next'; }
.swiper-horizontal > .swiper-button-next { right: var(--swiper-navigation-sides-offset, 10px); left: auto; }
.swiper-horizontal > .swiper-button-prev { left: var(--swiper-navigation-sides-offset, 10px); right: auto; }

/* --- Pagination --- */
.swiper-pagination { position: absolute; text-align: center; transition: 0.3s opacity; transform: translate3d(0, 0, 0); z-index: 10; }
.swiper-pagination.swiper-pagination-hidden { opacity: 0; }
.swiper-pagination-fraction { color: inherit; font-size: 14px; }
.swiper-pagination-bullets { bottom: var(--swiper-pagination-bottom, 8px); width: 100%; }
.swiper-pagination-bullet { width: var(--swiper-pagination-bullet-width, 8px); height: var(--swiper-pagination-bullet-height, 8px); display: inline-block; border-radius: 50%; background: var(--swiper-pagination-bullet-inactive-color, #000); opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2); }
button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; appearance: none; }
.swiper-pagination-bullet-active { opacity: var(--swiper-pagination-bullet-opacity, 1); background: var(--swiper-pagination-color, var(--swiper-theme-color)); }

/* --- Scrollbar --- */
.swiper-scrollbar { position: absolute; background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1)); border-radius: var(--swiper-scrollbar-border-radius, 10px); z-index: 50; }
.swiper-horizontal > .swiper-scrollbar { left: var(--swiper-scrollbar-sides-offset, 1%); bottom: var(--swiper-scrollbar-bottom, 4px); width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); height: var(--swiper-scrollbar-size, 4px); }
.swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5)); border-radius: var(--swiper-scrollbar-border-radius, 10px); left: 0; top: 0; }

/* --- Fade Effect --- */
.swiper-fade.swiper-free-mode .swiper-slide { transition-timing-function: ease-out; }
.swiper-fade .swiper-slide { pointer-events: none; transition-property: opacity; }
.swiper-fade .swiper-slide .swiper-slide { pointer-events: none; }
.swiper-fade .swiper-slide-active { pointer-events: auto; }

/* --- Thumbs --- */
.swiper-thumbs .swiper-slide { cursor: pointer; }
.swiper-thumbs .swiper-slide-thumb-active { opacity: 1; }