@charset "UTF-8";

html {
    height: -webkit-fill-available;
    scroll-behavior: smooth
}

body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
    min-height: 100dvh;
    overflow-x: clip
}

@media (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none
    }
}

picture {
    display: block
}

svg {
    max-width: 100%;
    height: auto
}

*,
:before,
:after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb
}

:before,
:after {
    --tw-content: ""
}

html,
:host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    text-decoration: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp,
pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button,
select {
    text-transform: none
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
    margin: 0
}

fieldset {
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

ol,
ul,
menu {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    opacity: 1;
    color: #9ca3af
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: #9ca3af
}

button,
[role=button] {
    cursor: pointer
}

:disabled {
    cursor: default
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    display: block;
    vertical-align: middle
}

img,
video {
    max-width: 100%;
    height: auto
}

[hidden] {
    display: none
}

*,
:before,
:after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

html {
    scroll-padding-top: 80px;
    font-size: 62.5%
}

@media (min-width: 768px) {
    html {
        font-size: clamp(7px, 7px + (100vw - 1000px) * .002 * 3, 10px)
    }
}

@media (max-width: 767px) {
    html {
        scroll-padding-top: 60px
    }
}

html.-over {
    width: 100%;
    height: 100%;
    overflow: hidden
}

body {
    width: 100vw;
    font-family: 游ゴシック Medium, yugothic, 游ゴシック体, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, Hiragino Sans, Yu Gothic Medium, メイリオ, Noto Sans JP, acumin-pro-condensed, SF Pro Display, SF Pro Icons, "system-ui", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji", sans-serif;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    font-feature-settings: "palt";
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%
}

body.is-over {
    width: 100%;
    height: 100%;
    overflow: hidden
}

@font-face {
    font-family: swiper-icons;
    src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.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: translateZ(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;
    display: block
}

.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
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-prev,
.swiper-button-next {
    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-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
    display: none !important
}

.swiper-button-prev svg,
.swiper-button-next svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translateZ(0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translate(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-vertical>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>img,
.swiper-zoom-container>svg,
.swiper-zoom-container>canvas {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move;
    touch-action: none
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.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,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    inset: 0;
    filter: blur(50px)
}

.swiper-cube .swiper-slide-next+.swiper-slide {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
    z-index: 0;
    backface-visibility: hidden
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
    z-index: 0;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    backface-visibility: hidden;
    overflow: hidden
}

.flex.-gapx0 {
    -moz-column-gap: 0vw;
    column-gap: 0vw
}

.flex.-gapx1 {
    -moz-column-gap: 1.6666666667vw;
    column-gap: 1.6666666667vw
}

.flex.-gapx2 {
    -moz-column-gap: 3.3333333333vw;
    column-gap: 3.3333333333vw
}

.flex.-gapx3 {
    -moz-column-gap: 5vw;
    column-gap: 5vw
}

.flex.-gapx4 {
    -moz-column-gap: 6.6666666667vw;
    column-gap: 6.6666666667vw
}

.flex.-gapx5 {
    -moz-column-gap: 8.3333333333vw;
    column-gap: 8.3333333333vw
}

.flex.-gapx6 {
    -moz-column-gap: 10vw;
    column-gap: 10vw
}

.flex.-gapx7 {
    -moz-column-gap: 11.6666666667vw;
    column-gap: 11.6666666667vw
}

.flex.-gapx8 {
    -moz-column-gap: 13.3333333333vw;
    column-gap: 13.3333333333vw
}

.flex.-gapx9 {
    -moz-column-gap: 15vw;
    column-gap: 15vw
}

.flex.-gapx10 {
    -moz-column-gap: 16.6666666667vw;
    column-gap: 16.6666666667vw
}

.flex.-gapx11 {
    -moz-column-gap: 18.3333333333vw;
    column-gap: 18.3333333333vw
}

.flex.-gapx12 {
    -moz-column-gap: 20vw;
    column-gap: 20vw
}

.flex.-gapx13 {
    -moz-column-gap: 21.6666666667vw;
    column-gap: 21.6666666667vw
}

.flex.-gapx14 {
    -moz-column-gap: 23.3333333333vw;
    column-gap: 23.3333333333vw
}

.flex.-gapx15 {
    -moz-column-gap: 25vw;
    column-gap: 25vw
}

.flex.-gapx16 {
    -moz-column-gap: 26.6666666667vw;
    column-gap: 26.6666666667vw
}

.flex.-gapx17 {
    -moz-column-gap: 28.3333333333vw;
    column-gap: 28.3333333333vw
}

.flex.-gapx18 {
    -moz-column-gap: 30vw;
    column-gap: 30vw
}

.flex.-gapx19 {
    -moz-column-gap: 31.6666666667vw;
    column-gap: 31.6666666667vw
}

.flex.-gapx20 {
    -moz-column-gap: 33.3333333333vw;
    column-gap: 33.3333333333vw
}

.flex.-gapx21 {
    -moz-column-gap: 35vw;
    column-gap: 35vw
}

.flex.-gapx22 {
    -moz-column-gap: 36.6666666667vw;
    column-gap: 36.6666666667vw
}

.flex.-gapx23 {
    -moz-column-gap: 38.3333333333vw;
    column-gap: 38.3333333333vw
}

.flex.-gapx24 {
    -moz-column-gap: 40vw;
    column-gap: 40vw
}

.flex.-gapx25 {
    -moz-column-gap: 41.6666666667vw;
    column-gap: 41.6666666667vw
}

.flex.-gapx26 {
    -moz-column-gap: 43.3333333333vw;
    column-gap: 43.3333333333vw
}

.flex.-gapx27 {
    -moz-column-gap: 45vw;
    column-gap: 45vw
}

.flex.-gapx28 {
    -moz-column-gap: 46.6666666667vw;
    column-gap: 46.6666666667vw
}

.flex.-gapx29 {
    -moz-column-gap: 48.3333333333vw;
    column-gap: 48.3333333333vw
}

.flex.-gapx30 {
    -moz-column-gap: 50vw;
    column-gap: 50vw
}

.flex.-gapx31 {
    -moz-column-gap: 51.6666666667vw;
    column-gap: 51.6666666667vw
}

.flex.-gapx32 {
    -moz-column-gap: 53.3333333333vw;
    column-gap: 53.3333333333vw
}

.flex.-gapx33 {
    -moz-column-gap: 55vw;
    column-gap: 55vw
}

.flex.-gapx34 {
    -moz-column-gap: 56.6666666667vw;
    column-gap: 56.6666666667vw
}

.flex.-gapx35 {
    -moz-column-gap: 58.3333333333vw;
    column-gap: 58.3333333333vw
}

.flex.-gapx36 {
    -moz-column-gap: 60vw;
    column-gap: 60vw
}

.flex.-gapx37 {
    -moz-column-gap: 61.6666666667vw;
    column-gap: 61.6666666667vw
}

.flex.-gapx38 {
    -moz-column-gap: 63.3333333333vw;
    column-gap: 63.3333333333vw
}

.flex.-gapx39 {
    -moz-column-gap: 65vw;
    column-gap: 65vw
}

.flex.-gapx40 {
    -moz-column-gap: 66.6666666667vw;
    column-gap: 66.6666666667vw
}

.flex.-gapx41 {
    -moz-column-gap: 68.3333333333vw;
    column-gap: 68.3333333333vw
}

.flex.-gapx42 {
    -moz-column-gap: 70vw;
    column-gap: 70vw
}

.flex.-gapx43 {
    -moz-column-gap: 71.6666666667vw;
    column-gap: 71.6666666667vw
}

.flex.-gapx44 {
    -moz-column-gap: 73.3333333333vw;
    column-gap: 73.3333333333vw
}

.flex.-gapx45 {
    -moz-column-gap: 75vw;
    column-gap: 75vw
}

.flex.-gapx46 {
    -moz-column-gap: 76.6666666667vw;
    column-gap: 76.6666666667vw
}

.flex.-gapx47 {
    -moz-column-gap: 78.3333333333vw;
    column-gap: 78.3333333333vw
}

.flex.-gapx48 {
    -moz-column-gap: 80vw;
    column-gap: 80vw
}

.flex.-gapx49 {
    -moz-column-gap: 81.6666666667vw;
    column-gap: 81.6666666667vw
}

.flex.-gapx50 {
    -moz-column-gap: 83.3333333333vw;
    column-gap: 83.3333333333vw
}

.flex.-gapx51 {
    -moz-column-gap: 85vw;
    column-gap: 85vw
}

.flex.-gapx52 {
    -moz-column-gap: 86.6666666667vw;
    column-gap: 86.6666666667vw
}

.flex.-gapx53 {
    -moz-column-gap: 88.3333333333vw;
    column-gap: 88.3333333333vw
}

.flex.-gapx54 {
    -moz-column-gap: 90vw;
    column-gap: 90vw
}

.flex.-gapx55 {
    -moz-column-gap: 91.6666666667vw;
    column-gap: 91.6666666667vw
}

.flex.-gapx56 {
    -moz-column-gap: 93.3333333333vw;
    column-gap: 93.3333333333vw
}

.flex.-gapx57 {
    -moz-column-gap: 95vw;
    column-gap: 95vw
}

.flex.-gapx58 {
    -moz-column-gap: 96.6666666667vw;
    column-gap: 96.6666666667vw
}

.flex.-gapx59 {
    -moz-column-gap: 98.3333333333vw;
    column-gap: 98.3333333333vw
}

.flex.-gapx60 {
    -moz-column-gap: 100vw;
    column-gap: 100vw
}

.flex.-gapy0 {
    row-gap: 0vw
}

.flex.-gapy1 {
    row-gap: 1.6666666667vw
}

.flex.-gapy2 {
    row-gap: 3.3333333333vw
}

.flex.-gapy3 {
    row-gap: 5vw
}

.flex.-gapy4 {
    row-gap: 6.6666666667vw
}

.flex.-gapy5 {
    row-gap: 8.3333333333vw
}

.flex.-gapy6 {
    row-gap: 10vw
}

.flex.-gapy7 {
    row-gap: 11.6666666667vw
}

.flex.-gapy8 {
    row-gap: 13.3333333333vw
}

.flex.-gapy9 {
    row-gap: 15vw
}

.flex.-gapy10 {
    row-gap: 16.6666666667vw
}

.flex.-gapy11 {
    row-gap: 18.3333333333vw
}

.flex.-gapy12 {
    row-gap: 20vw
}

.flex.-gapy13 {
    row-gap: 21.6666666667vw
}

.flex.-gapy14 {
    row-gap: 23.3333333333vw
}

.flex.-gapy15 {
    row-gap: 25vw
}

.flex.-gapy16 {
    row-gap: 26.6666666667vw
}

.flex.-gapy17 {
    row-gap: 28.3333333333vw
}

.flex.-gapy18 {
    row-gap: 30vw
}

.flex.-gapy19 {
    row-gap: 31.6666666667vw
}

.flex.-gapy20 {
    row-gap: 33.3333333333vw
}

.flex.-gapy21 {
    row-gap: 35vw
}

.flex.-gapy22 {
    row-gap: 36.6666666667vw
}

.flex.-gapy23 {
    row-gap: 38.3333333333vw
}

.flex.-gapy24 {
    row-gap: 40vw
}

.flex.-gapy25 {
    row-gap: 41.6666666667vw
}

.flex.-gapy26 {
    row-gap: 43.3333333333vw
}

.flex.-gapy27 {
    row-gap: 45vw
}

.flex.-gapy28 {
    row-gap: 46.6666666667vw
}

.flex.-gapy29 {
    row-gap: 48.3333333333vw
}

.flex.-gapy30 {
    row-gap: 50vw
}

.flex.-gapy31 {
    row-gap: 51.6666666667vw
}

.flex.-gapy32 {
    row-gap: 53.3333333333vw
}

.flex.-gapy33 {
    row-gap: 55vw
}

.flex.-gapy34 {
    row-gap: 56.6666666667vw
}

.flex.-gapy35 {
    row-gap: 58.3333333333vw
}

.flex.-gapy36 {
    row-gap: 60vw
}

.flex.-gapy37 {
    row-gap: 61.6666666667vw
}

.flex.-gapy38 {
    row-gap: 63.3333333333vw
}

.flex.-gapy39 {
    row-gap: 65vw
}

.flex.-gapy40 {
    row-gap: 66.6666666667vw
}

.flex.-gapy41 {
    row-gap: 68.3333333333vw
}

.flex.-gapy42 {
    row-gap: 70vw
}

.flex.-gapy43 {
    row-gap: 71.6666666667vw
}

.flex.-gapy44 {
    row-gap: 73.3333333333vw
}

.flex.-gapy45 {
    row-gap: 75vw
}

.flex.-gapy46 {
    row-gap: 76.6666666667vw
}

.flex.-gapy47 {
    row-gap: 78.3333333333vw
}

.flex.-gapy48 {
    row-gap: 80vw
}

.flex.-gapy49 {
    row-gap: 81.6666666667vw
}

.flex.-gapy50 {
    row-gap: 83.3333333333vw
}

.flex.-gapy51 {
    row-gap: 85vw
}

.flex.-gapy52 {
    row-gap: 86.6666666667vw
}

.flex.-gapy53 {
    row-gap: 88.3333333333vw
}

.flex.-gapy54 {
    row-gap: 90vw
}

.flex.-gapy55 {
    row-gap: 91.6666666667vw
}

.flex.-gapy56 {
    row-gap: 93.3333333333vw
}

.flex.-gapy57 {
    row-gap: 95vw
}

.flex.-gapy58 {
    row-gap: 96.6666666667vw
}

.flex.-gapy59 {
    row-gap: 98.3333333333vw
}

.flex.-gapy60 {
    row-gap: 100vw
}

@media (max-width: 767px) {
    .flex-sp.-spgapx0 {
        -moz-column-gap: 0vw;
        column-gap: 0vw
    }

    .flex-sp.-spgapx1 {
        -moz-column-gap: .9027777778vw;
        column-gap: .9027777778vw
    }

    .flex-sp.-spgapx2 {
        -moz-column-gap: 1.8055555556vw;
        column-gap: 1.8055555556vw
    }

    .flex-sp.-spgapx3 {
        -moz-column-gap: 2.7083333333vw;
        column-gap: 2.7083333333vw
    }

    .flex-sp.-spgapx4 {
        -moz-column-gap: 3.6111111111vw;
        column-gap: 3.6111111111vw
    }

    .flex-sp.-spgapx5 {
        -moz-column-gap: 4.5138888889vw;
        column-gap: 4.5138888889vw
    }

    .flex-sp.-spgapx6 {
        -moz-column-gap: 5.4166666667vw;
        column-gap: 5.4166666667vw
    }

    .flex-sp.-spgapx7 {
        -moz-column-gap: 6.3194444444vw;
        column-gap: 6.3194444444vw
    }

    .flex-sp.-spgapx8 {
        -moz-column-gap: 7.2222222222vw;
        column-gap: 7.2222222222vw
    }

    .flex-sp.-spgapx9 {
        -moz-column-gap: 8.125vw;
        column-gap: 8.125vw
    }

    .flex-sp.-spgapx10 {
        -moz-column-gap: 9.0277777778vw;
        column-gap: 9.0277777778vw
    }

    .flex-sp.-spgapx11 {
        -moz-column-gap: 9.9305555556vw;
        column-gap: 9.9305555556vw
    }

    .flex-sp.-spgapx12 {
        -moz-column-gap: 10.8333333333vw;
        column-gap: 10.8333333333vw
    }

    .flex-sp.-spgapx13 {
        -moz-column-gap: 11.7361111111vw;
        column-gap: 11.7361111111vw
    }

    .flex-sp.-spgapx14 {
        -moz-column-gap: 12.6388888889vw;
        column-gap: 12.6388888889vw
    }

    .flex-sp.-spgapx15 {
        -moz-column-gap: 13.5416666667vw;
        column-gap: 13.5416666667vw
    }

    .flex-sp.-spgapx16 {
        -moz-column-gap: 14.4444444444vw;
        column-gap: 14.4444444444vw
    }

    .flex-sp.-spgapx17 {
        -moz-column-gap: 15.3472222222vw;
        column-gap: 15.3472222222vw
    }

    .flex-sp.-spgapx18 {
        -moz-column-gap: 16.25vw;
        column-gap: 16.25vw
    }

    .flex-sp.-spgapx19 {
        -moz-column-gap: 17.1527777778vw;
        column-gap: 17.1527777778vw
    }

    .flex-sp.-spgapx20 {
        -moz-column-gap: 18.0555555556vw;
        column-gap: 18.0555555556vw
    }

    .flex-sp.-spgapx21 {
        -moz-column-gap: 18.9583333333vw;
        column-gap: 18.9583333333vw
    }

    .flex-sp.-spgapx22 {
        -moz-column-gap: 19.8611111111vw;
        column-gap: 19.8611111111vw
    }

    .flex-sp.-spgapx23 {
        -moz-column-gap: 20.7638888889vw;
        column-gap: 20.7638888889vw
    }

    .flex-sp.-spgapx24 {
        -moz-column-gap: 21.6666666667vw;
        column-gap: 21.6666666667vw
    }

    .flex-sp.-spgapx25 {
        -moz-column-gap: 22.5694444444vw;
        column-gap: 22.5694444444vw
    }

    .flex-sp.-spgapx26 {
        -moz-column-gap: 23.4722222222vw;
        column-gap: 23.4722222222vw
    }

    .flex-sp.-spgapx27 {
        -moz-column-gap: 24.375vw;
        column-gap: 24.375vw
    }

    .flex-sp.-spgapx28 {
        -moz-column-gap: 25.2777777778vw;
        column-gap: 25.2777777778vw
    }

    .flex-sp.-spgapx29 {
        -moz-column-gap: 26.1805555556vw;
        column-gap: 26.1805555556vw
    }

    .flex-sp.-spgapx30 {
        -moz-column-gap: 27.0833333333vw;
        column-gap: 27.0833333333vw
    }

    .flex-sp.-spgapx31 {
        -moz-column-gap: 27.9861111111vw;
        column-gap: 27.9861111111vw
    }

    .flex-sp.-spgapx32 {
        -moz-column-gap: 28.8888888889vw;
        column-gap: 28.8888888889vw
    }

    .flex-sp.-spgapx33 {
        -moz-column-gap: 29.7916666667vw;
        column-gap: 29.7916666667vw
    }

    .flex-sp.-spgapx34 {
        -moz-column-gap: 30.6944444444vw;
        column-gap: 30.6944444444vw
    }

    .flex-sp.-spgapx35 {
        -moz-column-gap: 31.5972222222vw;
        column-gap: 31.5972222222vw
    }

    .flex-sp.-spgapx36 {
        -moz-column-gap: 32.5vw;
        column-gap: 32.5vw
    }

    .flex-sp.-spgapx37 {
        -moz-column-gap: 33.4027777778vw;
        column-gap: 33.4027777778vw
    }

    .flex-sp.-spgapx38 {
        -moz-column-gap: 34.3055555556vw;
        column-gap: 34.3055555556vw
    }

    .flex-sp.-spgapx39 {
        -moz-column-gap: 35.2083333333vw;
        column-gap: 35.2083333333vw
    }

    .flex-sp.-spgapx40 {
        -moz-column-gap: 36.1111111111vw;
        column-gap: 36.1111111111vw
    }

    .flex-sp.-spgapx41 {
        -moz-column-gap: 37.0138888889vw;
        column-gap: 37.0138888889vw
    }

    .flex-sp.-spgapx42 {
        -moz-column-gap: 37.9166666667vw;
        column-gap: 37.9166666667vw
    }

    .flex-sp.-spgapx43 {
        -moz-column-gap: 38.8194444444vw;
        column-gap: 38.8194444444vw
    }

    .flex-sp.-spgapx44 {
        -moz-column-gap: 39.7222222222vw;
        column-gap: 39.7222222222vw
    }

    .flex-sp.-spgapx45 {
        -moz-column-gap: 40.625vw;
        column-gap: 40.625vw
    }

    .flex-sp.-spgapx46 {
        -moz-column-gap: 41.5277777778vw;
        column-gap: 41.5277777778vw
    }

    .flex-sp.-spgapx47 {
        -moz-column-gap: 42.4305555556vw;
        column-gap: 42.4305555556vw
    }

    .flex-sp.-spgapx48 {
        -moz-column-gap: 43.3333333333vw;
        column-gap: 43.3333333333vw
    }

    .flex-sp.-spgapx49 {
        -moz-column-gap: 44.2361111111vw;
        column-gap: 44.2361111111vw
    }

    .flex-sp.-spgapx50 {
        -moz-column-gap: 45.1388888889vw;
        column-gap: 45.1388888889vw
    }

    .flex-sp.-spgapx51 {
        -moz-column-gap: 46.0416666667vw;
        column-gap: 46.0416666667vw
    }

    .flex-sp.-spgapx52 {
        -moz-column-gap: 46.9444444444vw;
        column-gap: 46.9444444444vw
    }

    .flex-sp.-spgapx53 {
        -moz-column-gap: 47.8472222222vw;
        column-gap: 47.8472222222vw
    }

    .flex-sp.-spgapx54 {
        -moz-column-gap: 48.75vw;
        column-gap: 48.75vw
    }

    .flex-sp.-spgapx55 {
        -moz-column-gap: 49.6527777778vw;
        column-gap: 49.6527777778vw
    }

    .flex-sp.-spgapx56 {
        -moz-column-gap: 50.5555555556vw;
        column-gap: 50.5555555556vw
    }

    .flex-sp.-spgapx57 {
        -moz-column-gap: 51.4583333333vw;
        column-gap: 51.4583333333vw
    }

    .flex-sp.-spgapx58 {
        -moz-column-gap: 52.3611111111vw;
        column-gap: 52.3611111111vw
    }

    .flex-sp.-spgapx59 {
        -moz-column-gap: 53.2638888889vw;
        column-gap: 53.2638888889vw
    }

    .flex-sp.-spgapx60 {
        -moz-column-gap: 54.1666666667vw;
        column-gap: 54.1666666667vw
    }

    .flex-sp.-spgapy0 {
        row-gap: 0vw
    }

    .flex-sp.-spgapy1 {
        row-gap: .9027777778vw
    }

    .flex-sp.-spgapy2 {
        row-gap: 1.8055555556vw
    }

    .flex-sp.-spgapy3 {
        row-gap: 2.7083333333vw
    }

    .flex-sp.-spgapy4 {
        row-gap: 3.6111111111vw
    }

    .flex-sp.-spgapy5 {
        row-gap: 4.5138888889vw
    }

    .flex-sp.-spgapy6 {
        row-gap: 5.4166666667vw
    }

    .flex-sp.-spgapy7 {
        row-gap: 6.3194444444vw
    }

    .flex-sp.-spgapy8 {
        row-gap: 7.2222222222vw
    }

    .flex-sp.-spgapy9 {
        row-gap: 8.125vw
    }

    .flex-sp.-spgapy10 {
        row-gap: 9.0277777778vw
    }

    .flex-sp.-spgapy11 {
        row-gap: 9.9305555556vw
    }

    .flex-sp.-spgapy12 {
        row-gap: 10.8333333333vw
    }

    .flex-sp.-spgapy13 {
        row-gap: 11.7361111111vw
    }

    .flex-sp.-spgapy14 {
        row-gap: 12.6388888889vw
    }

    .flex-sp.-spgapy15 {
        row-gap: 13.5416666667vw
    }

    .flex-sp.-spgapy16 {
        row-gap: 14.4444444444vw
    }

    .flex-sp.-spgapy17 {
        row-gap: 15.3472222222vw
    }

    .flex-sp.-spgapy18 {
        row-gap: 16.25vw
    }

    .flex-sp.-spgapy19 {
        row-gap: 17.1527777778vw
    }

    .flex-sp.-spgapy20 {
        row-gap: 18.0555555556vw
    }

    .flex-sp.-spgapy21 {
        row-gap: 18.9583333333vw
    }

    .flex-sp.-spgapy22 {
        row-gap: 19.8611111111vw
    }

    .flex-sp.-spgapy23 {
        row-gap: 20.7638888889vw
    }

    .flex-sp.-spgapy24 {
        row-gap: 21.6666666667vw
    }

    .flex-sp.-spgapy25 {
        row-gap: 22.5694444444vw
    }

    .flex-sp.-spgapy26 {
        row-gap: 23.4722222222vw
    }

    .flex-sp.-spgapy27 {
        row-gap: 24.375vw
    }

    .flex-sp.-spgapy28 {
        row-gap: 25.2777777778vw
    }

    .flex-sp.-spgapy29 {
        row-gap: 26.1805555556vw
    }

    .flex-sp.-spgapy30 {
        row-gap: 27.0833333333vw
    }

    .flex-sp.-spgapy31 {
        row-gap: 27.9861111111vw
    }

    .flex-sp.-spgapy32 {
        row-gap: 28.8888888889vw
    }

    .flex-sp.-spgapy33 {
        row-gap: 29.7916666667vw
    }

    .flex-sp.-spgapy34 {
        row-gap: 30.6944444444vw
    }

    .flex-sp.-spgapy35 {
        row-gap: 31.5972222222vw
    }

    .flex-sp.-spgapy36 {
        row-gap: 32.5vw
    }

    .flex-sp.-spgapy37 {
        row-gap: 33.4027777778vw
    }

    .flex-sp.-spgapy38 {
        row-gap: 34.3055555556vw
    }

    .flex-sp.-spgapy39 {
        row-gap: 35.2083333333vw
    }

    .flex-sp.-spgapy40 {
        row-gap: 36.1111111111vw
    }

    .flex-sp.-spgapy41 {
        row-gap: 37.0138888889vw
    }

    .flex-sp.-spgapy42 {
        row-gap: 37.9166666667vw
    }

    .flex-sp.-spgapy43 {
        row-gap: 38.8194444444vw
    }

    .flex-sp.-spgapy44 {
        row-gap: 39.7222222222vw
    }

    .flex-sp.-spgapy45 {
        row-gap: 40.625vw
    }

    .flex-sp.-spgapy46 {
        row-gap: 41.5277777778vw
    }

    .flex-sp.-spgapy47 {
        row-gap: 42.4305555556vw
    }

    .flex-sp.-spgapy48 {
        row-gap: 43.3333333333vw
    }

    .flex-sp.-spgapy49 {
        row-gap: 44.2361111111vw
    }

    .flex-sp.-spgapy50 {
        row-gap: 45.1388888889vw
    }

    .flex-sp.-spgapy51 {
        row-gap: 46.0416666667vw
    }

    .flex-sp.-spgapy52 {
        row-gap: 46.9444444444vw
    }

    .flex-sp.-spgapy53 {
        row-gap: 47.8472222222vw
    }

    .flex-sp.-spgapy54 {
        row-gap: 48.75vw
    }

    .flex-sp.-spgapy55 {
        row-gap: 49.6527777778vw
    }

    .flex-sp.-spgapy56 {
        row-gap: 50.5555555556vw
    }

    .flex-sp.-spgapy57 {
        row-gap: 51.4583333333vw
    }

    .flex-sp.-spgapy58 {
        row-gap: 52.3611111111vw
    }

    .flex-sp.-spgapy59 {
        row-gap: 53.2638888889vw
    }

    .flex-sp.-spgapy60 {
        row-gap: 54.1666666667vw
    }
}

.grid.-col1 {
    grid-template-columns: repeat(1, minmax(0, 1fr))
}

.grid.-col2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.grid.-col3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.grid.-col4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}

.grid.-col5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
}

.grid.-col6 {
    grid-template-columns: repeat(6, minmax(0, 1fr))
}

.grid.-col7 {
    grid-template-columns: repeat(7, minmax(0, 1fr))
}

.grid.-col8 {
    grid-template-columns: repeat(8, minmax(0, 1fr))
}

.grid.-col9 {
    grid-template-columns: repeat(9, minmax(0, 1fr))
}

.grid.-col10 {
    grid-template-columns: repeat(10, minmax(0, 1fr))
}

.grid.-col11 {
    grid-template-columns: repeat(11, minmax(0, 1fr))
}

.grid.-col12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
}

.grid.-col13 {
    grid-template-columns: repeat(13, minmax(0, 1fr))
}

.grid.-col14 {
    grid-template-columns: repeat(14, minmax(0, 1fr))
}

.grid.-col15 {
    grid-template-columns: repeat(15, minmax(0, 1fr))
}

.grid.-col16 {
    grid-template-columns: repeat(16, minmax(0, 1fr))
}

.grid.-col17 {
    grid-template-columns: repeat(17, minmax(0, 1fr))
}

.grid.-col18 {
    grid-template-columns: repeat(18, minmax(0, 1fr))
}

.grid.-col19 {
    grid-template-columns: repeat(19, minmax(0, 1fr))
}

.grid.-col20 {
    grid-template-columns: repeat(20, minmax(0, 1fr))
}

.grid.-col21 {
    grid-template-columns: repeat(21, minmax(0, 1fr))
}

.grid.-col22 {
    grid-template-columns: repeat(22, minmax(0, 1fr))
}

.grid.-col23 {
    grid-template-columns: repeat(23, minmax(0, 1fr))
}

.grid.-col24 {
    grid-template-columns: repeat(24, minmax(0, 1fr))
}

.grid.-col25 {
    grid-template-columns: repeat(25, minmax(0, 1fr))
}

.grid.-col26 {
    grid-template-columns: repeat(26, minmax(0, 1fr))
}

.grid.-col27 {
    grid-template-columns: repeat(27, minmax(0, 1fr))
}

.grid.-col28 {
    grid-template-columns: repeat(28, minmax(0, 1fr))
}

.grid.-col29 {
    grid-template-columns: repeat(29, minmax(0, 1fr))
}

.grid.-col30 {
    grid-template-columns: repeat(30, minmax(0, 1fr))
}

.grid.-col31 {
    grid-template-columns: repeat(31, minmax(0, 1fr))
}

.grid.-col32 {
    grid-template-columns: repeat(32, minmax(0, 1fr))
}

.grid.-col33 {
    grid-template-columns: repeat(33, minmax(0, 1fr))
}

.grid.-col34 {
    grid-template-columns: repeat(34, minmax(0, 1fr))
}

.grid.-col35 {
    grid-template-columns: repeat(35, minmax(0, 1fr))
}

.grid.-col36 {
    grid-template-columns: repeat(36, minmax(0, 1fr))
}

.grid.-col37 {
    grid-template-columns: repeat(37, minmax(0, 1fr))
}

.grid.-col38 {
    grid-template-columns: repeat(38, minmax(0, 1fr))
}

.grid.-col39 {
    grid-template-columns: repeat(39, minmax(0, 1fr))
}

.grid.-col40 {
    grid-template-columns: repeat(40, minmax(0, 1fr))
}

.grid.-col41 {
    grid-template-columns: repeat(41, minmax(0, 1fr))
}

.grid.-col42 {
    grid-template-columns: repeat(42, minmax(0, 1fr))
}

.grid.-col43 {
    grid-template-columns: repeat(43, minmax(0, 1fr))
}

.grid.-col44 {
    grid-template-columns: repeat(44, minmax(0, 1fr))
}

.grid.-col45 {
    grid-template-columns: repeat(45, minmax(0, 1fr))
}

.grid.-col46 {
    grid-template-columns: repeat(46, minmax(0, 1fr))
}

.grid.-col47 {
    grid-template-columns: repeat(47, minmax(0, 1fr))
}

.grid.-col48 {
    grid-template-columns: repeat(48, minmax(0, 1fr))
}

.grid.-col49 {
    grid-template-columns: repeat(49, minmax(0, 1fr))
}

.grid.-col50 {
    grid-template-columns: repeat(50, minmax(0, 1fr))
}

.grid.-col51 {
    grid-template-columns: repeat(51, minmax(0, 1fr))
}

.grid.-col52 {
    grid-template-columns: repeat(52, minmax(0, 1fr))
}

.grid.-col53 {
    grid-template-columns: repeat(53, minmax(0, 1fr))
}

.grid.-col54 {
    grid-template-columns: repeat(54, minmax(0, 1fr))
}

.grid.-col55 {
    grid-template-columns: repeat(55, minmax(0, 1fr))
}

.grid.-col56 {
    grid-template-columns: repeat(56, minmax(0, 1fr))
}

.grid.-col57 {
    grid-template-columns: repeat(57, minmax(0, 1fr))
}

.grid.-col58 {
    grid-template-columns: repeat(58, minmax(0, 1fr))
}

.grid.-col59 {
    grid-template-columns: repeat(59, minmax(0, 1fr))
}

.grid.-col60 {
    grid-template-columns: repeat(60, minmax(0, 1fr))
}

.grid.-gapx0 {
    -moz-column-gap: 0vw;
    column-gap: 0vw
}

.grid.-gapx1 {
    -moz-column-gap: 1.6666666667vw;
    column-gap: 1.6666666667vw
}

.grid.-gapx2 {
    -moz-column-gap: 3.3333333333vw;
    column-gap: 3.3333333333vw
}

.grid.-gapx3 {
    -moz-column-gap: 5vw;
    column-gap: 5vw
}

.grid.-gapx4 {
    -moz-column-gap: 6.6666666667vw;
    column-gap: 6.6666666667vw
}

.grid.-gapx5 {
    -moz-column-gap: 8.3333333333vw;
    column-gap: 8.3333333333vw
}

.grid.-gapx6 {
    -moz-column-gap: 10vw;
    column-gap: 10vw
}

.grid.-gapx7 {
    -moz-column-gap: 11.6666666667vw;
    column-gap: 11.6666666667vw
}

.grid.-gapx8 {
    -moz-column-gap: 13.3333333333vw;
    column-gap: 13.3333333333vw
}

.grid.-gapx9 {
    -moz-column-gap: 15vw;
    column-gap: 15vw
}

.grid.-gapx10 {
    -moz-column-gap: 16.6666666667vw;
    column-gap: 16.6666666667vw
}

.grid.-gapx11 {
    -moz-column-gap: 18.3333333333vw;
    column-gap: 18.3333333333vw
}

.grid.-gapx12 {
    -moz-column-gap: 20vw;
    column-gap: 20vw
}

.grid.-gapx13 {
    -moz-column-gap: 21.6666666667vw;
    column-gap: 21.6666666667vw
}

.grid.-gapx14 {
    -moz-column-gap: 23.3333333333vw;
    column-gap: 23.3333333333vw
}

.grid.-gapx15 {
    -moz-column-gap: 25vw;
    column-gap: 25vw
}

.grid.-gapx16 {
    -moz-column-gap: 26.6666666667vw;
    column-gap: 26.6666666667vw
}

.grid.-gapx17 {
    -moz-column-gap: 28.3333333333vw;
    column-gap: 28.3333333333vw
}

.grid.-gapx18 {
    -moz-column-gap: 30vw;
    column-gap: 30vw
}

.grid.-gapx19 {
    -moz-column-gap: 31.6666666667vw;
    column-gap: 31.6666666667vw
}

.grid.-gapx20 {
    -moz-column-gap: 33.3333333333vw;
    column-gap: 33.3333333333vw
}

.grid.-gapx21 {
    -moz-column-gap: 35vw;
    column-gap: 35vw
}

.grid.-gapx22 {
    -moz-column-gap: 36.6666666667vw;
    column-gap: 36.6666666667vw
}

.grid.-gapx23 {
    -moz-column-gap: 38.3333333333vw;
    column-gap: 38.3333333333vw
}

.grid.-gapx24 {
    -moz-column-gap: 40vw;
    column-gap: 40vw
}

.grid.-gapx25 {
    -moz-column-gap: 41.6666666667vw;
    column-gap: 41.6666666667vw
}

.grid.-gapx26 {
    -moz-column-gap: 43.3333333333vw;
    column-gap: 43.3333333333vw
}

.grid.-gapx27 {
    -moz-column-gap: 45vw;
    column-gap: 45vw
}

.grid.-gapx28 {
    -moz-column-gap: 46.6666666667vw;
    column-gap: 46.6666666667vw
}

.grid.-gapx29 {
    -moz-column-gap: 48.3333333333vw;
    column-gap: 48.3333333333vw
}

.grid.-gapx30 {
    -moz-column-gap: 50vw;
    column-gap: 50vw
}

.grid.-gapx31 {
    -moz-column-gap: 51.6666666667vw;
    column-gap: 51.6666666667vw
}

.grid.-gapx32 {
    -moz-column-gap: 53.3333333333vw;
    column-gap: 53.3333333333vw
}

.grid.-gapx33 {
    -moz-column-gap: 55vw;
    column-gap: 55vw
}

.grid.-gapx34 {
    -moz-column-gap: 56.6666666667vw;
    column-gap: 56.6666666667vw
}

.grid.-gapx35 {
    -moz-column-gap: 58.3333333333vw;
    column-gap: 58.3333333333vw
}

.grid.-gapx36 {
    -moz-column-gap: 60vw;
    column-gap: 60vw
}

.grid.-gapx37 {
    -moz-column-gap: 61.6666666667vw;
    column-gap: 61.6666666667vw
}

.grid.-gapx38 {
    -moz-column-gap: 63.3333333333vw;
    column-gap: 63.3333333333vw
}

.grid.-gapx39 {
    -moz-column-gap: 65vw;
    column-gap: 65vw
}

.grid.-gapx40 {
    -moz-column-gap: 66.6666666667vw;
    column-gap: 66.6666666667vw
}

.grid.-gapx41 {
    -moz-column-gap: 68.3333333333vw;
    column-gap: 68.3333333333vw
}

.grid.-gapx42 {
    -moz-column-gap: 70vw;
    column-gap: 70vw
}

.grid.-gapx43 {
    -moz-column-gap: 71.6666666667vw;
    column-gap: 71.6666666667vw
}

.grid.-gapx44 {
    -moz-column-gap: 73.3333333333vw;
    column-gap: 73.3333333333vw
}

.grid.-gapx45 {
    -moz-column-gap: 75vw;
    column-gap: 75vw
}

.grid.-gapx46 {
    -moz-column-gap: 76.6666666667vw;
    column-gap: 76.6666666667vw
}

.grid.-gapx47 {
    -moz-column-gap: 78.3333333333vw;
    column-gap: 78.3333333333vw
}

.grid.-gapx48 {
    -moz-column-gap: 80vw;
    column-gap: 80vw
}

.grid.-gapx49 {
    -moz-column-gap: 81.6666666667vw;
    column-gap: 81.6666666667vw
}

.grid.-gapx50 {
    -moz-column-gap: 83.3333333333vw;
    column-gap: 83.3333333333vw
}

.grid.-gapx51 {
    -moz-column-gap: 85vw;
    column-gap: 85vw
}

.grid.-gapx52 {
    -moz-column-gap: 86.6666666667vw;
    column-gap: 86.6666666667vw
}

.grid.-gapx53 {
    -moz-column-gap: 88.3333333333vw;
    column-gap: 88.3333333333vw
}

.grid.-gapx54 {
    -moz-column-gap: 90vw;
    column-gap: 90vw
}

.grid.-gapx55 {
    -moz-column-gap: 91.6666666667vw;
    column-gap: 91.6666666667vw
}

.grid.-gapx56 {
    -moz-column-gap: 93.3333333333vw;
    column-gap: 93.3333333333vw
}

.grid.-gapx57 {
    -moz-column-gap: 95vw;
    column-gap: 95vw
}

.grid.-gapx58 {
    -moz-column-gap: 96.6666666667vw;
    column-gap: 96.6666666667vw
}

.grid.-gapx59 {
    -moz-column-gap: 98.3333333333vw;
    column-gap: 98.3333333333vw
}

.grid.-gapx60 {
    -moz-column-gap: 100vw;
    column-gap: 100vw
}

.grid.-gapy0 {
    row-gap: 0vw
}

.grid.-gapy1 {
    row-gap: 1.6666666667vw
}

.grid.-gapy2 {
    row-gap: 3.3333333333vw
}

.grid.-gapy3 {
    row-gap: 5vw
}

.grid.-gapy4 {
    row-gap: 6.6666666667vw
}

.grid.-gapy5 {
    row-gap: 8.3333333333vw
}

.grid.-gapy6 {
    row-gap: 10vw
}

.grid.-gapy7 {
    row-gap: 11.6666666667vw
}

.grid.-gapy8 {
    row-gap: 13.3333333333vw
}

.grid.-gapy9 {
    row-gap: 15vw
}

.grid.-gapy10 {
    row-gap: 16.6666666667vw
}

.grid.-gapy11 {
    row-gap: 18.3333333333vw
}

.grid.-gapy12 {
    row-gap: 20vw
}

.grid.-gapy13 {
    row-gap: 21.6666666667vw
}

.grid.-gapy14 {
    row-gap: 23.3333333333vw
}

.grid.-gapy15 {
    row-gap: 25vw
}

.grid.-gapy16 {
    row-gap: 26.6666666667vw
}

.grid.-gapy17 {
    row-gap: 28.3333333333vw
}

.grid.-gapy18 {
    row-gap: 30vw
}

.grid.-gapy19 {
    row-gap: 31.6666666667vw
}

.grid.-gapy20 {
    row-gap: 33.3333333333vw
}

.grid.-gapy21 {
    row-gap: 35vw
}

.grid.-gapy22 {
    row-gap: 36.6666666667vw
}

.grid.-gapy23 {
    row-gap: 38.3333333333vw
}

.grid.-gapy24 {
    row-gap: 40vw
}

.grid.-gapy25 {
    row-gap: 41.6666666667vw
}

.grid.-gapy26 {
    row-gap: 43.3333333333vw
}

.grid.-gapy27 {
    row-gap: 45vw
}

.grid.-gapy28 {
    row-gap: 46.6666666667vw
}

.grid.-gapy29 {
    row-gap: 48.3333333333vw
}

.grid.-gapy30 {
    row-gap: 50vw
}

.grid.-gapy31 {
    row-gap: 51.6666666667vw
}

.grid.-gapy32 {
    row-gap: 53.3333333333vw
}

.grid.-gapy33 {
    row-gap: 55vw
}

.grid.-gapy34 {
    row-gap: 56.6666666667vw
}

.grid.-gapy35 {
    row-gap: 58.3333333333vw
}

.grid.-gapy36 {
    row-gap: 60vw
}

.grid.-gapy37 {
    row-gap: 61.6666666667vw
}

.grid.-gapy38 {
    row-gap: 63.3333333333vw
}

.grid.-gapy39 {
    row-gap: 65vw
}

.grid.-gapy40 {
    row-gap: 66.6666666667vw
}

.grid.-gapy41 {
    row-gap: 68.3333333333vw
}

.grid.-gapy42 {
    row-gap: 70vw
}

.grid.-gapy43 {
    row-gap: 71.6666666667vw
}

.grid.-gapy44 {
    row-gap: 73.3333333333vw
}

.grid.-gapy45 {
    row-gap: 75vw
}

.grid.-gapy46 {
    row-gap: 76.6666666667vw
}

.grid.-gapy47 {
    row-gap: 78.3333333333vw
}

.grid.-gapy48 {
    row-gap: 80vw
}

.grid.-gapy49 {
    row-gap: 81.6666666667vw
}

.grid.-gapy50 {
    row-gap: 83.3333333333vw
}

.grid.-gapy51 {
    row-gap: 85vw
}

.grid.-gapy52 {
    row-gap: 86.6666666667vw
}

.grid.-gapy53 {
    row-gap: 88.3333333333vw
}

.grid.-gapy54 {
    row-gap: 90vw
}

.grid.-gapy55 {
    row-gap: 91.6666666667vw
}

.grid.-gapy56 {
    row-gap: 93.3333333333vw
}

.grid.-gapy57 {
    row-gap: 95vw
}

.grid.-gapy58 {
    row-gap: 96.6666666667vw
}

.grid.-gapy59 {
    row-gap: 98.3333333333vw
}

.grid.-gapy60 {
    row-gap: 100vw
}

@media (max-width: 767px) {
    .grid-sp.-spcol1 {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }

    .grid-sp.-spcol2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .grid-sp.-spcol3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .grid-sp.-spcol4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .grid-sp.-spcol5 {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }

    .grid-sp.-spcol6 {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }

    .grid-sp.-spcol7 {
        grid-template-columns: repeat(7, minmax(0, 1fr))
    }

    .grid-sp.-spcol8 {
        grid-template-columns: repeat(8, minmax(0, 1fr))
    }

    .grid-sp.-spcol9 {
        grid-template-columns: repeat(9, minmax(0, 1fr))
    }

    .grid-sp.-spcol10 {
        grid-template-columns: repeat(10, minmax(0, 1fr))
    }

    .grid-sp.-spcol11 {
        grid-template-columns: repeat(11, minmax(0, 1fr))
    }

    .grid-sp.-spcol12 {
        grid-template-columns: repeat(12, minmax(0, 1fr))
    }

    .grid-sp.-spcol13 {
        grid-template-columns: repeat(13, minmax(0, 1fr))
    }

    .grid-sp.-spcol14 {
        grid-template-columns: repeat(14, minmax(0, 1fr))
    }

    .grid-sp.-spcol15 {
        grid-template-columns: repeat(15, minmax(0, 1fr))
    }

    .grid-sp.-spcol16 {
        grid-template-columns: repeat(16, minmax(0, 1fr))
    }

    .grid-sp.-spcol17 {
        grid-template-columns: repeat(17, minmax(0, 1fr))
    }

    .grid-sp.-spcol18 {
        grid-template-columns: repeat(18, minmax(0, 1fr))
    }

    .grid-sp.-spcol19 {
        grid-template-columns: repeat(19, minmax(0, 1fr))
    }

    .grid-sp.-spcol20 {
        grid-template-columns: repeat(20, minmax(0, 1fr))
    }

    .grid-sp.-spcol21 {
        grid-template-columns: repeat(21, minmax(0, 1fr))
    }

    .grid-sp.-spcol22 {
        grid-template-columns: repeat(22, minmax(0, 1fr))
    }

    .grid-sp.-spcol23 {
        grid-template-columns: repeat(23, minmax(0, 1fr))
    }

    .grid-sp.-spcol24 {
        grid-template-columns: repeat(24, minmax(0, 1fr))
    }

    .grid-sp.-spcol25 {
        grid-template-columns: repeat(25, minmax(0, 1fr))
    }

    .grid-sp.-spcol26 {
        grid-template-columns: repeat(26, minmax(0, 1fr))
    }

    .grid-sp.-spcol27 {
        grid-template-columns: repeat(27, minmax(0, 1fr))
    }

    .grid-sp.-spcol28 {
        grid-template-columns: repeat(28, minmax(0, 1fr))
    }

    .grid-sp.-spcol29 {
        grid-template-columns: repeat(29, minmax(0, 1fr))
    }

    .grid-sp.-spcol30 {
        grid-template-columns: repeat(30, minmax(0, 1fr))
    }

    .grid-sp.-spcol31 {
        grid-template-columns: repeat(31, minmax(0, 1fr))
    }

    .grid-sp.-spcol32 {
        grid-template-columns: repeat(32, minmax(0, 1fr))
    }

    .grid-sp.-spcol33 {
        grid-template-columns: repeat(33, minmax(0, 1fr))
    }

    .grid-sp.-spcol34 {
        grid-template-columns: repeat(34, minmax(0, 1fr))
    }

    .grid-sp.-spcol35 {
        grid-template-columns: repeat(35, minmax(0, 1fr))
    }

    .grid-sp.-spcol36 {
        grid-template-columns: repeat(36, minmax(0, 1fr))
    }

    .grid-sp.-spcol37 {
        grid-template-columns: repeat(37, minmax(0, 1fr))
    }

    .grid-sp.-spcol38 {
        grid-template-columns: repeat(38, minmax(0, 1fr))
    }

    .grid-sp.-spcol39 {
        grid-template-columns: repeat(39, minmax(0, 1fr))
    }

    .grid-sp.-spcol40 {
        grid-template-columns: repeat(40, minmax(0, 1fr))
    }

    .grid-sp.-spcol41 {
        grid-template-columns: repeat(41, minmax(0, 1fr))
    }

    .grid-sp.-spcol42 {
        grid-template-columns: repeat(42, minmax(0, 1fr))
    }

    .grid-sp.-spcol43 {
        grid-template-columns: repeat(43, minmax(0, 1fr))
    }

    .grid-sp.-spcol44 {
        grid-template-columns: repeat(44, minmax(0, 1fr))
    }

    .grid-sp.-spcol45 {
        grid-template-columns: repeat(45, minmax(0, 1fr))
    }

    .grid-sp.-spcol46 {
        grid-template-columns: repeat(46, minmax(0, 1fr))
    }

    .grid-sp.-spcol47 {
        grid-template-columns: repeat(47, minmax(0, 1fr))
    }

    .grid-sp.-spcol48 {
        grid-template-columns: repeat(48, minmax(0, 1fr))
    }

    .grid-sp.-spcol49 {
        grid-template-columns: repeat(49, minmax(0, 1fr))
    }

    .grid-sp.-spcol50 {
        grid-template-columns: repeat(50, minmax(0, 1fr))
    }

    .grid-sp.-spcol51 {
        grid-template-columns: repeat(51, minmax(0, 1fr))
    }

    .grid-sp.-spcol52 {
        grid-template-columns: repeat(52, minmax(0, 1fr))
    }

    .grid-sp.-spcol53 {
        grid-template-columns: repeat(53, minmax(0, 1fr))
    }

    .grid-sp.-spcol54 {
        grid-template-columns: repeat(54, minmax(0, 1fr))
    }

    .grid-sp.-spcol55 {
        grid-template-columns: repeat(55, minmax(0, 1fr))
    }

    .grid-sp.-spcol56 {
        grid-template-columns: repeat(56, minmax(0, 1fr))
    }

    .grid-sp.-spcol57 {
        grid-template-columns: repeat(57, minmax(0, 1fr))
    }

    .grid-sp.-spcol58 {
        grid-template-columns: repeat(58, minmax(0, 1fr))
    }

    .grid-sp.-spcol59 {
        grid-template-columns: repeat(59, minmax(0, 1fr))
    }

    .grid-sp.-spcol60 {
        grid-template-columns: repeat(60, minmax(0, 1fr))
    }

    .grid-sp.-spgapx0 {
        -moz-column-gap: 0vw;
        column-gap: 0vw
    }

    .grid-sp.-spgapx1 {
        -moz-column-gap: .9027777778vw;
        column-gap: .9027777778vw
    }

    .grid-sp.-spgapx2 {
        -moz-column-gap: 1.8055555556vw;
        column-gap: 1.8055555556vw
    }

    .grid-sp.-spgapx3 {
        -moz-column-gap: 2.7083333333vw;
        column-gap: 2.7083333333vw
    }

    .grid-sp.-spgapx4 {
        -moz-column-gap: 3.6111111111vw;
        column-gap: 3.6111111111vw
    }

    .grid-sp.-spgapx5 {
        -moz-column-gap: 4.5138888889vw;
        column-gap: 4.5138888889vw
    }

    .grid-sp.-spgapx6 {
        -moz-column-gap: 5.4166666667vw;
        column-gap: 5.4166666667vw
    }

    .grid-sp.-spgapx7 {
        -moz-column-gap: 6.3194444444vw;
        column-gap: 6.3194444444vw
    }

    .grid-sp.-spgapx8 {
        -moz-column-gap: 7.2222222222vw;
        column-gap: 7.2222222222vw
    }

    .grid-sp.-spgapx9 {
        -moz-column-gap: 8.125vw;
        column-gap: 8.125vw
    }

    .grid-sp.-spgapx10 {
        -moz-column-gap: 9.0277777778vw;
        column-gap: 9.0277777778vw
    }

    .grid-sp.-spgapx11 {
        -moz-column-gap: 9.9305555556vw;
        column-gap: 9.9305555556vw
    }

    .grid-sp.-spgapx12 {
        -moz-column-gap: 10.8333333333vw;
        column-gap: 10.8333333333vw
    }

    .grid-sp.-spgapx13 {
        -moz-column-gap: 11.7361111111vw;
        column-gap: 11.7361111111vw
    }

    .grid-sp.-spgapx14 {
        -moz-column-gap: 12.6388888889vw;
        column-gap: 12.6388888889vw
    }

    .grid-sp.-spgapx15 {
        -moz-column-gap: 13.5416666667vw;
        column-gap: 13.5416666667vw
    }

    .grid-sp.-spgapx16 {
        -moz-column-gap: 14.4444444444vw;
        column-gap: 14.4444444444vw
    }

    .grid-sp.-spgapx17 {
        -moz-column-gap: 15.3472222222vw;
        column-gap: 15.3472222222vw
    }

    .grid-sp.-spgapx18 {
        -moz-column-gap: 16.25vw;
        column-gap: 16.25vw
    }

    .grid-sp.-spgapx19 {
        -moz-column-gap: 17.1527777778vw;
        column-gap: 17.1527777778vw
    }

    .grid-sp.-spgapx20 {
        -moz-column-gap: 18.0555555556vw;
        column-gap: 18.0555555556vw
    }

    .grid-sp.-spgapx21 {
        -moz-column-gap: 18.9583333333vw;
        column-gap: 18.9583333333vw
    }

    .grid-sp.-spgapx22 {
        -moz-column-gap: 19.8611111111vw;
        column-gap: 19.8611111111vw
    }

    .grid-sp.-spgapx23 {
        -moz-column-gap: 20.7638888889vw;
        column-gap: 20.7638888889vw
    }

    .grid-sp.-spgapx24 {
        -moz-column-gap: 21.6666666667vw;
        column-gap: 21.6666666667vw
    }

    .grid-sp.-spgapx25 {
        -moz-column-gap: 22.5694444444vw;
        column-gap: 22.5694444444vw
    }

    .grid-sp.-spgapx26 {
        -moz-column-gap: 23.4722222222vw;
        column-gap: 23.4722222222vw
    }

    .grid-sp.-spgapx27 {
        -moz-column-gap: 24.375vw;
        column-gap: 24.375vw
    }

    .grid-sp.-spgapx28 {
        -moz-column-gap: 25.2777777778vw;
        column-gap: 25.2777777778vw
    }

    .grid-sp.-spgapx29 {
        -moz-column-gap: 26.1805555556vw;
        column-gap: 26.1805555556vw
    }

    .grid-sp.-spgapx30 {
        -moz-column-gap: 27.0833333333vw;
        column-gap: 27.0833333333vw
    }

    .grid-sp.-spgapx31 {
        -moz-column-gap: 27.9861111111vw;
        column-gap: 27.9861111111vw
    }

    .grid-sp.-spgapx32 {
        -moz-column-gap: 28.8888888889vw;
        column-gap: 28.8888888889vw
    }

    .grid-sp.-spgapx33 {
        -moz-column-gap: 29.7916666667vw;
        column-gap: 29.7916666667vw
    }

    .grid-sp.-spgapx34 {
        -moz-column-gap: 30.6944444444vw;
        column-gap: 30.6944444444vw
    }

    .grid-sp.-spgapx35 {
        -moz-column-gap: 31.5972222222vw;
        column-gap: 31.5972222222vw
    }

    .grid-sp.-spgapx36 {
        -moz-column-gap: 32.5vw;
        column-gap: 32.5vw
    }

    .grid-sp.-spgapx37 {
        -moz-column-gap: 33.4027777778vw;
        column-gap: 33.4027777778vw
    }

    .grid-sp.-spgapx38 {
        -moz-column-gap: 34.3055555556vw;
        column-gap: 34.3055555556vw
    }

    .grid-sp.-spgapx39 {
        -moz-column-gap: 35.2083333333vw;
        column-gap: 35.2083333333vw
    }

    .grid-sp.-spgapx40 {
        -moz-column-gap: 36.1111111111vw;
        column-gap: 36.1111111111vw
    }

    .grid-sp.-spgapx41 {
        -moz-column-gap: 37.0138888889vw;
        column-gap: 37.0138888889vw
    }

    .grid-sp.-spgapx42 {
        -moz-column-gap: 37.9166666667vw;
        column-gap: 37.9166666667vw
    }

    .grid-sp.-spgapx43 {
        -moz-column-gap: 38.8194444444vw;
        column-gap: 38.8194444444vw
    }

    .grid-sp.-spgapx44 {
        -moz-column-gap: 39.7222222222vw;
        column-gap: 39.7222222222vw
    }

    .grid-sp.-spgapx45 {
        -moz-column-gap: 40.625vw;
        column-gap: 40.625vw
    }

    .grid-sp.-spgapx46 {
        -moz-column-gap: 41.5277777778vw;
        column-gap: 41.5277777778vw
    }

    .grid-sp.-spgapx47 {
        -moz-column-gap: 42.4305555556vw;
        column-gap: 42.4305555556vw
    }

    .grid-sp.-spgapx48 {
        -moz-column-gap: 43.3333333333vw;
        column-gap: 43.3333333333vw
    }

    .grid-sp.-spgapx49 {
        -moz-column-gap: 44.2361111111vw;
        column-gap: 44.2361111111vw
    }

    .grid-sp.-spgapx50 {
        -moz-column-gap: 45.1388888889vw;
        column-gap: 45.1388888889vw
    }

    .grid-sp.-spgapx51 {
        -moz-column-gap: 46.0416666667vw;
        column-gap: 46.0416666667vw
    }

    .grid-sp.-spgapx52 {
        -moz-column-gap: 46.9444444444vw;
        column-gap: 46.9444444444vw
    }

    .grid-sp.-spgapx53 {
        -moz-column-gap: 47.8472222222vw;
        column-gap: 47.8472222222vw
    }

    .grid-sp.-spgapx54 {
        -moz-column-gap: 48.75vw;
        column-gap: 48.75vw
    }

    .grid-sp.-spgapx55 {
        -moz-column-gap: 49.6527777778vw;
        column-gap: 49.6527777778vw
    }

    .grid-sp.-spgapx56 {
        -moz-column-gap: 50.5555555556vw;
        column-gap: 50.5555555556vw
    }

    .grid-sp.-spgapx57 {
        -moz-column-gap: 51.4583333333vw;
        column-gap: 51.4583333333vw
    }

    .grid-sp.-spgapx58 {
        -moz-column-gap: 52.3611111111vw;
        column-gap: 52.3611111111vw
    }

    .grid-sp.-spgapx59 {
        -moz-column-gap: 53.2638888889vw;
        column-gap: 53.2638888889vw
    }

    .grid-sp.-spgapx60 {
        -moz-column-gap: 54.1666666667vw;
        column-gap: 54.1666666667vw
    }

    .grid-sp.-spgapy0 {
        row-gap: 0vw
    }

    .grid-sp.-spgapy1 {
        row-gap: .9027777778vw
    }

    .grid-sp.-spgapy2 {
        row-gap: 1.8055555556vw
    }

    .grid-sp.-spgapy3 {
        row-gap: 2.7083333333vw
    }

    .grid-sp.-spgapy4 {
        row-gap: 3.6111111111vw
    }

    .grid-sp.-spgapy5 {
        row-gap: 4.5138888889vw
    }

    .grid-sp.-spgapy6 {
        row-gap: 5.4166666667vw
    }

    .grid-sp.-spgapy7 {
        row-gap: 6.3194444444vw
    }

    .grid-sp.-spgapy8 {
        row-gap: 7.2222222222vw
    }

    .grid-sp.-spgapy9 {
        row-gap: 8.125vw
    }

    .grid-sp.-spgapy10 {
        row-gap: 9.0277777778vw
    }

    .grid-sp.-spgapy11 {
        row-gap: 9.9305555556vw
    }

    .grid-sp.-spgapy12 {
        row-gap: 10.8333333333vw
    }

    .grid-sp.-spgapy13 {
        row-gap: 11.7361111111vw
    }

    .grid-sp.-spgapy14 {
        row-gap: 12.6388888889vw
    }

    .grid-sp.-spgapy15 {
        row-gap: 13.5416666667vw
    }

    .grid-sp.-spgapy16 {
        row-gap: 14.4444444444vw
    }

    .grid-sp.-spgapy17 {
        row-gap: 15.3472222222vw
    }

    .grid-sp.-spgapy18 {
        row-gap: 16.25vw
    }

    .grid-sp.-spgapy19 {
        row-gap: 17.1527777778vw
    }

    .grid-sp.-spgapy20 {
        row-gap: 18.0555555556vw
    }

    .grid-sp.-spgapy21 {
        row-gap: 18.9583333333vw
    }

    .grid-sp.-spgapy22 {
        row-gap: 19.8611111111vw
    }

    .grid-sp.-spgapy23 {
        row-gap: 20.7638888889vw
    }

    .grid-sp.-spgapy24 {
        row-gap: 21.6666666667vw
    }

    .grid-sp.-spgapy25 {
        row-gap: 22.5694444444vw
    }

    .grid-sp.-spgapy26 {
        row-gap: 23.4722222222vw
    }

    .grid-sp.-spgapy27 {
        row-gap: 24.375vw
    }

    .grid-sp.-spgapy28 {
        row-gap: 25.2777777778vw
    }

    .grid-sp.-spgapy29 {
        row-gap: 26.1805555556vw
    }

    .grid-sp.-spgapy30 {
        row-gap: 27.0833333333vw
    }

    .grid-sp.-spgapy31 {
        row-gap: 27.9861111111vw
    }

    .grid-sp.-spgapy32 {
        row-gap: 28.8888888889vw
    }

    .grid-sp.-spgapy33 {
        row-gap: 29.7916666667vw
    }

    .grid-sp.-spgapy34 {
        row-gap: 30.6944444444vw
    }

    .grid-sp.-spgapy35 {
        row-gap: 31.5972222222vw
    }

    .grid-sp.-spgapy36 {
        row-gap: 32.5vw
    }

    .grid-sp.-spgapy37 {
        row-gap: 33.4027777778vw
    }

    .grid-sp.-spgapy38 {
        row-gap: 34.3055555556vw
    }

    .grid-sp.-spgapy39 {
        row-gap: 35.2083333333vw
    }

    .grid-sp.-spgapy40 {
        row-gap: 36.1111111111vw
    }

    .grid-sp.-spgapy41 {
        row-gap: 37.0138888889vw
    }

    .grid-sp.-spgapy42 {
        row-gap: 37.9166666667vw
    }

    .grid-sp.-spgapy43 {
        row-gap: 38.8194444444vw
    }

    .grid-sp.-spgapy44 {
        row-gap: 39.7222222222vw
    }

    .grid-sp.-spgapy45 {
        row-gap: 40.625vw
    }

    .grid-sp.-spgapy46 {
        row-gap: 41.5277777778vw
    }

    .grid-sp.-spgapy47 {
        row-gap: 42.4305555556vw
    }

    .grid-sp.-spgapy48 {
        row-gap: 43.3333333333vw
    }

    .grid-sp.-spgapy49 {
        row-gap: 44.2361111111vw
    }

    .grid-sp.-spgapy50 {
        row-gap: 45.1388888889vw
    }

    .grid-sp.-spgapy51 {
        row-gap: 46.0416666667vw
    }

    .grid-sp.-spgapy52 {
        row-gap: 46.9444444444vw
    }

    .grid-sp.-spgapy53 {
        row-gap: 47.8472222222vw
    }

    .grid-sp.-spgapy54 {
        row-gap: 48.75vw
    }

    .grid-sp.-spgapy55 {
        row-gap: 49.6527777778vw
    }

    .grid-sp.-spgapy56 {
        row-gap: 50.5555555556vw
    }

    .grid-sp.-spgapy57 {
        row-gap: 51.4583333333vw
    }

    .grid-sp.-spgapy58 {
        row-gap: 52.3611111111vw
    }

    .grid-sp.-spgapy59 {
        row-gap: 53.2638888889vw
    }

    .grid-sp.-spgapy60 {
        row-gap: 54.1666666667vw
    }
}

.list-disc>.-item {
    position: relative;
    padding-left: 1.3em;
    list-style-type: none
}

.list-disc>.-item:after {
    position: absolute;
    top: 50%;
    left: .25em;
    width: .4em;
    height: .4em;
    margin-top: .1em;
    content: "";
    border-radius: 50%;
    transform: translateY(-50%)
}

.list-decimal {
    list-style-position: inside
}

.list-number {
    counter-reset: li
}

.list-number>.-item {
    position: relative;
    padding-left: 1.3em;
    list-style-type: none
}

.list-number>.-item:before {
    position: absolute;
    top: 50%;
    left: .4em;
    z-index: 1;
    padding: .1em 0 0;
    font-size: .7em;
    color: #fff;
    text-align: center;
    content: counter(li);
    counter-increment: li;
    transform: translateY(-50%)
}

.list-number>.-item:after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 1em;
    height: 1em;
    content: "";
    border-radius: 50%;
    transform: translateY(-50%)
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1
}

@media (hover: hover) and (pointer: fine) {
    .button.-link:hover {
        opacity: .7
    }
}

.checkbox {
    width: 1rem;
    height: 1rem
}

.hr {
    height: 1px;
    border: none
}

.input:focus {
    outline: none
}

.radio {
    width: 1rem;
    height: 1rem
}

.select:focus {
    outline: none
}

.typo-h1 {
    font-size: 6.4rem;
    font-weight: 700;
    line-height: 1.4
}

.typo-h2 {
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 3.8rem;
    font-weight: 500;
    line-height: 1.1052631579
}

@media (max-width: 767px) {
    .typo-h2 {
        font-size: 5.8461538462vw
    }
}

.typo-h3 {
    font-size: 3.2rem;
    letter-spacing: .03em;
    font-family: kinuta-maruminold-stdn, serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.8125
}

@media (max-width: 767px) {
    .typo-h3 {
        font-size: 4.9230769231vw
    }
}

.typo-h4 {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5
}

.typo-h5 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5
}

.typo-desc {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.7777777778
}

@media (max-width: 767px) {
    .typo-desc {
        font-size: 3.6923076923vw
    }
}

.typo-desc.-xs {
    font-size: 1.4rem;
    line-height: 1.7142857143
}

@media (max-width: 767px) {
    .typo-desc.-xs {
        font-size: 3.6923076923vw
    }
}

.typo-desc.-small {
    font-size: 1.6rem;
    line-height: 1.5
}

@media (max-width: 767px) {
    .typo-desc.-small {
        font-size: 2.4615384615vw
    }
}

.header {
    top: 0;
    z-index: 100;
    width: 100%;
    background-color: #fff
}

@media (min-width: 768px) {
    .header {
        position: sticky
    }
}

@media (max-width: 767px) {
    .header {
        position: fixed
    }

    .header.is-show {
        height: 100vh;
        overflow-y: scroll
    }
}

.header .-cont {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    background-color: #fff
}

@media (min-width: 768px) {
    .header .-cont {
        height: 80px;
        padding: 0 3.3333333333vw
    }
}

@media (max-width: 767px) {
    .header .-cont {
        width: 100%;
        height: 60px;
        padding: 0 3.8461538462vw
    }
}

.header .-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start
}

.header .-logo-anc {
    display: block;
    width: 164px
}

@media (min-width: 768px) {
    .header .-logo-anc {
        padding-right: 2.0833333333vw;
        margin-right: 2.0833333333vw;
        border-right: 1px solid #000814
    }
}

@media (max-width: 767px) {
    .header .-logo-anc {
        width: 100px
    }

    .header .-logo-anc-index {
        width: 130px;
        padding-right: 3.8461538462vw;
        margin-right: 3.8461538462vw;
        border-right: 1px solid #000814
    }
}

.header .-logo-lead {
    display: block;
    width: 115px
}

@media (max-width: 767px) {
    .header .-logo-lead {
        display: none
    }

    .header .-logo-lead-index {
        display: block;
        width: 88px
    }
}

.header .-title {
    font-size: 3.8rem;
    line-height: 1;
    text-align: center;
    font-family: kinuta-maruminold-stdn, serif;
    font-style: normal;
    font-weight: 400;
    cursor: pointer;
    transition: .3s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .header .-title:hover {
        opacity: .7
    }
}

@media (max-width: 767px) {
    .header .-title {
        position: absolute;
        top: 50%;
        left: 50%;
        font-size: 4vw;
        transform: translate(-50%, -50%)
    }
}

.header .-hamburger {
    position: relative;
    width: 2.8472222222vw;
    aspect-ratio: 41/26
}

@media (max-width: 767px) {
    .header .-hamburger {
        width: 5.2564102564vw
    }
}

.header .-hamburger.is-active .-hamburger-bar:nth-of-type(1) {
    transform: translate3d(0, .9027777778vw, 0) rotate(45deg)
}

@media (max-width: 767px) {
    .header .-hamburger.is-active .-hamburger-bar:nth-of-type(1) {
        transform: translate3d(0, 1.6666666667vw, 0) rotate(45deg)
    }
}

.header .-hamburger.is-active .-hamburger-bar:nth-of-type(2) {
    opacity: 0
}

.header .-hamburger.is-active .-hamburger-bar:nth-of-type(3) {
    transform: translate3d(0, -.9027777778vw, 0) rotate(-45deg)
}

@media (max-width: 767px) {
    .header .-hamburger.is-active .-hamburger-bar:nth-of-type(3) {
        transform: translate3d(0, -1.6666666667vw, 0) rotate(-45deg)
    }
}

.header .-hamburger-bar {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #000814;
    opacity: 1;
    transition: transform .3s, opacity .3s;
    transition-timing-function: cubic-bezier(.43, .05, .17, 1)
}

.header .-hamburger-bar:nth-of-type(1) {
    top: 0
}

.header .-hamburger-bar:nth-of-type(3) {
    top: 100%
}

.header .-ui {
    display: flex;
    gap: 2.0833333333vw;
    align-items: center
}

.header .-close {
    opacity: 0;
    transition: opacity .3s;
    transition-timing-function: cubic-bezier(.43, .05, .17, 1)
}

@media (max-width: 767px) {
    .header .-close {
        width: 13.9743589744vw
    }
}

.header .-close.is-show {
    opacity: 1
}

@media (min-width: 768px) {
    #bt-home {
        display: block;
        width: 50px;
        height: 180px;
        font-size: 16px !important;
        font-weight: 700;
        line-height: 3em;
        letter-spacing: .4em;
        vertical-align: middle;
        cursor: pointer;
        background: #00b996;
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px
    }

    #bt-home:before {
        display: block;
        content: ""
    }

    #bt-home a {
        display: block;
        width: 100%;
        height: 100%;
        color: #fff;
        text-align: center;
        writing-mode: vertical-rl
    }

    #bt-oc {
        display: flex;
        width: 50px;
        height: 180px;
        margin-top: 10px;
        font-size: 16px !important;
        font-weight: 700;
        line-height: 3em;
        vertical-align: middle;
        cursor: pointer;
        background: #ff0;
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px
    }

    #bt-oc a {
        box-sizing: border-box;
        display: block;
        padding-top: 15%;
        padding-right: 3.8%;
        font-weight: 700;
        line-height: 1em;
        color: #6900a0;
        letter-spacing: .3em;
        writing-mode: vertical-rl
    }
}

#bt-oc span {
    display: inline-block;
    line-height: 1.5;
    writing-mode: horizontal-tb
}

@media (min-width: 768px) {
    .header_side_bt {
        position: fixed;
        top: 180px;
        right: 0;
        z-index: 999;
        width: 50px
    }
}

@media (max-width: 767px) {
    .header_foot_bt>ul.global {
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 10;
        width: 100%
    }

    .header_foot_bt>ul.global li {
        position: relative;
        float: right;
        width: 33.333%;
        height: 60px;
        vertical-align: top
    }

    .header_foot_bt>ul.global li:after {
        display: block;
        padding-top: 27%;
        vertical-align: top;
        content: ""
    }

    .header_foot_bt>ul.global li a {
        position: absolute;
        bottom: 0;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 60px;
        padding: 10px 0 5px 25px;
        font-size: 13px;
        line-height: 1em;
        color: #fff !important;
        vertical-align: middle;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-box-align: center;
        -ms-flex-align: center
    }

    .header_foot_bt>ul.global>li.contact+li.request.sp:before,
    .header_foot_bt>ul.global>li.request+li.webentry.sp:before,
    .header_foot_bt>ul.global>li.request+li.ocevent.sp:before {
        position: absolute;
        top: 20%;
        right: 0;
        z-index: 2;
        display: inline-block;
        width: 1px;
        height: 60%;
        content: "";
        background: #fff
    }

    .header_foot_bt>ul.global>li.access {
        display: none
    }

    .header_foot_bt>ul.global>li a:hover,
    .header_foot_bt>ul.global>li a:visited {
        opacity: 1;
        transition: 0
    }

    .header_foot_bt>ul.global>li.request a,
    .header_foot_bt>ul.global>li.contact a,
    .header_foot_bt>ul.global>li.webentry a,
    .header_foot_bt>ul.global>li.ocevent a {
        position: relative;
        color: #fff !important;
        background: #00b996
    }

    .header_foot_bt>ul.global>li.request a:before {
        position: absolute;
        top: 50%;
        left: 50%;
        display: inline-block;
        width: 30px;
        height: 30px;
        margin-top: 2px;
        font-size: 1em;
        content: "";
        background: url(/prospect/img/ico_request_white.svg) no-repeat;
        background-size: 100%;
        transform: translate(-3.5em) translateY(-50%)
    }

    .header_foot_bt>ul.global>li.contact a:before {
        position: absolute;
        top: 50%;
        left: 50%;
        display: inline-block;
        width: 30px;
        height: 30px;
        margin-top: 2px;
        font-size: 1em;
        content: "";
        background: url(/prospect/img/ico_contact_white.svg) no-repeat;
        background-size: 100%;
        transform: translate(-4.5em) translateY(-50%)
    }
}

@media (max-width: 767px) {
    .header_foot_bt>ul.global>li.webentry a:before {
        position: absolute;
        top: 50%;
        left: 50%;
        display: inline-block;
        width: 25px;
        height: 25px;
        font-size: 1em;
        content: "";
        background: url(/prospect/img/ico_pc.svg) no-repeat;
        background-size: 100%;
        transform: translate(-3.5em) translateY(-50%)
    }
}

@media (max-width: 767px) {
    .header_foot_bt>ul.global>li.ocevent a:before {
        position: absolute;
        top: 50%;
        left: 50%;
        display: inline-block;
        width: 25px;
        height: 25px;
        font-size: 1em;
        content: "";
        background: url(/prospect/img/ico_flag.svg) no-repeat;
        background-size: 100%;
        transform: translate(-3.5em) translateY(-50%)
    }
}

.header-nav {
    margin: 0 auto;
    transition: .5s cubic-bezier(.43, .05, .17, 1);
    transform: translate(100%)
}

@media (min-width: 768px) {
    .header-nav {
        position: fixed;
        top: 80px;
        right: 0;
        z-index: -1;
        display: flex;
        justify-content: flex-end;
        width: 100%;
        overflow-y: scroll
    }
}

@media (max-width: 767px) {
    .header-nav {
        position: absolute;
        top: 60px;
        right: 0;
        padding-bottom: 100px
    }
}

.header-nav.is-show {
    transform: translate(0)
}

@media (min-width: 768px) {
    .header-nav.is-show {
        height: 100vh;
        padding: 0 0 80px
    }
}

.header-nav .-nav-cont {
    position: relative;
    padding: 30px 70px 42px;
    background-color: #fff
}

@media (max-width: 767px) {
    .header-nav .-nav-cont {
        padding: 20px 25px 0
    }
}

.header-nav .-nav-cont:before {
    position: absolute;
    top: 0;
    left: 25px;
    width: calc(100% - 50px);
    height: 1px;
    content: "";
    background-color: #000814
}

@media (min-width: 768px) {
    .header-nav .-nav-cont:before {
        top: 1px
    }
}

.header-nav .-home {
    display: inline-block;
    width: 6.6666666667vw;
    padding-left: 7px
}

@media (max-width: 767px) {
    .header-nav .-home {
        width: 14.7435897436vw
    }
}

.header-nav .-grid,
.header-nav .-row {
    margin-top: 20px;
    border-top: 1px solid #000814
}

@media (min-width: 768px) {
    .header-nav .-row {
        display: flex
    }
}

.header-nav .-col {
    padding-top: 8px;
    padding-bottom: 40px
}

@media (max-width: 767px) {
    .header-nav .-col {
        padding-top: 10px;
        padding-bottom: 20px
    }
}

@media (min-width: 768px) {
    .header-nav .-col:nth-of-type(1) {
        padding-right: 2.0833333333vw;
        padding-left: 7px
    }

    .header-nav .-col:nth-of-type(2) {
        border-left: 1px solid #000814
    }
}

@media (max-width: 767px) {
    .header-nav .-col:nth-of-type(2) {
        border-top: 1px solid #000814
    }
}

@media (min-width: 768px) {
    .header-nav .-col-inner {
        padding: 0 .6944444444vw 0 2.0833333333vw
    }
}

.header-nav .-nav-title {
    display: flex;
    gap: 12px;
    align-items: center
}

.header-nav .-nav-title-main {
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #232d83
}

@media (max-width: 767px) {
    .header-nav .-nav-title-main {
        font-size: 2vw
    }
}

.header-nav .-nav-title-sub {
    width: 6.6666666667vw
}

@media (max-width: 767px) {
    .header-nav .-nav-title-sub {
        width: 15vw
    }
}

.header-nav .-inner {
    margin-top: 10px
}

@media (min-width: 768px) {
    .header-nav .-inner {
        display: flex;
        gap: 38px
    }
}

@media (max-width: 767px) {
    .header-nav .-inner {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 25px
    }
}

.header-nav .-innerGraduate {
    margin-top: 10px
}

@media (min-width: 768px) {
    .header-nav .-innerGraduate {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 30px
    }
}

@media (max-width: 767px) {
    .header-nav .-innerGraduate {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 25px
    }
}

@media (min-width: 768px) {
    .header-nav .-block {
        width: 16.6666666667vw;
        max-width: 240px
    }
}

.header-nav .-block-title {
    padding: 5px 10px;
    font-weight: 700;
    line-height: 1;
    background-color: #c3cfde
}

.header-nav .-block-titleContainer {
    display: block;
    width: 7.7777777778vw;
    max-width: 112px
}

@media (max-width: 767px) {
    .header-nav .-block-titleContainer {
        width: 18.9743589744vw
    }
}

.header-nav .-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    padding-right: 7px;
    margin-top: 28px
}

@media (max-width: 767px) {
    .header-nav .-list {
        gap: 20px;
        margin-top: 15px
    }
}

.header-nav .-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
    padding: 25px 2.0833333333vw 0;
    border-top: 1px solid #000814
}

@media (max-width: 767px) {
    .header-nav .-btns {
        gap: 10px 20px;
        padding: 15px 0 0
    }
}

.header-nav .-btn {
    transition: .3s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .header-nav .-btn:hover {
        opacity: .7
    }
}

@media (min-width: 768px) {
    .header-nav .-btn {
        flex: 1;
        width: 100%
    }
}

@media (max-width: 767px) {
    .header-nav .-btn {
        width: calc(50% - 10px)
    }
}

.header-nav .-btn img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.header-nav-item .-anc {
    display: inline-block;
    transition: .3s cubic-bezier(.43, .05, .17, 1)
}

@media (hover: hover) and (pointer: fine) {
    .header-nav-item .-anc:hover {
        opacity: .5
    }
}

.header-nav-item .-sub {
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 1rem;
    font-weight: 500
}

@media (max-width: 767px) {
    .header-nav-item .-sub {
        font-size: 2vw
    }
}

.header-nav-item .-main {
    display: inline-flex;
    gap: .6944444444vw;
    align-items: center;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1px
}

@media (max-width: 767px) {
    .header-nav-item .-main {
        gap: 1.2820512821vw;
        margin-top: 10px;
        font-size: 4.6153846154vw
    }
}

.header-nav-item .-main-line {
    display: block;
    width: 2.0833333333vw;
    height: 1px;
    background-color: #000814
}

@media (max-width: 767px) {
    .header-nav-item .-main-line {
        width: 2.5641025641vw
    }
}

@media (min-width: 768px) {
    .cv .-cont {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 2.2222222222vw;
        justify-content: space-between;
        width: 75vw;
        max-width: 1080px;
        padding: 90px 0;
        margin: 0 auto
    }
}

@media (max-width: 767px) {
    .cv .-cont {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        width: 71.7948717949vw;
        padding: 40px 0;
        margin: 0 auto
    }
}

.cv .-bnr {
    transition: .5s ease-in-out
}

@media (hover: hover) and (pointer: fine) {
    .cv .-bnr:hover {
        opacity: .7
    }
}

footer {
    font-size: 13px
}

@media (max-width: 767px) {
    footer {
        font-size: 11px
    }
}

#pagetop {
    opacity: 0;
    transition: 1s ease-in-out
}

#pagetop.is-show {
    opacity: 1
}

@media screen and (width >=768px),
print {
    #pagetop {
        position: fixed;
        right: 0;
        bottom: 0;
        z-index: 99;
        width: 40px;
        height: 40px;
        opacity: 0
    }

    #pagetop img {
        width: 40px;
        height: 40px
    }

    footer .bg {
        padding: 50px 0;
        background-color: #f0f0f0
    }

    footer .bg .inner {
        width: 1000px;
        margin: 0 auto
    }

    .sideSns {
        display: none
    }

    footer .sns {
        display: table;
        margin: 0 auto 50px
    }

    footer .sns li {
        display: table-cell;
        padding: 0 18px
    }

    footer .sns li img {
        width: 50px;
        height: auto
    }

    footer>.bg>.inner>.cf {
        display: table !important;
        width: 1000px;
        margin: 0 auto
    }

    footer .fo-logo {
        display: table-cell;
        width: 27%;
        text-align: left;
        vertical-align: top
    }

    footer .fo-logo img {
        width: 212px;
        height: auto
    }

    footer address {
        display: table-cell;
        width: 32%;
        font-size: 1em;
        font-style: normal;
        color: #4d4d4d;
        text-align: left;
        vertical-align: bottom
    }

    footer address .spbr {
        display: none
    }

    footer .global {
        display: block;
        width: 100%;
        font-size: 0;
        color: #4d4d4d;
        text-align: right;
        vertical-align: bottom
    }

    footer .global li {
        display: inline-block;
        font-size: 12px;
        color: #4d4d4d
    }

    footer #global-site-link {
        margin-top: 10px
    }

    footer #global-site-link li:first-child:before {
        content: ""
    }

    footer .global li:first-child:before {
        margin-right: 10px;
        content: "|"
    }

    footer #global-site-link li:after {
        content: ""
    }

    footer .global li:after {
        margin-right: 10px;
        margin-left: 10px;
        content: "|"
    }

    footer .global li:last-child:after {
        margin-right: 0
    }

    footer #global-site-link li a {
        padding-left: 13px;
        font-size: 12px;
        color: #373637;
        background: url(https://www.sapporo-u.ac.jp/common/img/ico_blue.svg) left center no-repeat;
        background-size: 6px auto
    }

    footer .copy {
        box-sizing: border-box;
        height: 40px;
        padding: 10px 20px;
        font-size: 1em;
        font-style: normal;
        color: #4d4d4d;
        text-align: left
    }

    .webentry_footer_bn {
        padding-top: 60px
    }

    .webentry_footer_bn.prospect_top_bn_admission {
        padding-bottom: 60px
    }
}

@media screen and (width <=768px) {
    #pagetop {
        position: fixed;
        right: 0;
        bottom: 60px;
        z-index: 999;
        width: 40px;
        text-align: right;
        filter: alpha(opacity=0);
        -moz-opacity: 0;
        opacity: 0
    }

    #pagetop:after {
        display: block;
        padding-top: 15.625%;
        content: ""
    }

    #pagetop img {
        width: 40px;
        height: 40px
    }

    footer:after {
        display: block;
        padding-top: 55px;
        content: ""
    }

    footer .bg {
        padding: 25px 0;
        background-color: #f0f0f0
    }

    footer .bg .inner {
        margin: 0 20px
    }

    .sideSns {
        display: block
    }

    footer .sns {
        display: none;
        margin: 0 auto 50px
    }

    footer .sns li {
        display: table-cell;
        padding: 0 8px
    }

    footer .sns li img {
        width: 34px;
        height: 34px
    }

    footer>.bg>.inner>.cf {
        display: table !important;
        margin: 0 auto
    }

    footer .fo-logo {
        width: 49%;
        text-align: left;
        vertical-align: top
    }

    footer .fo-logo img {
        width: 100%;
        height: auto
    }

    footer address {
        margin: 1em 0;
        font-size: 11px;
        font-style: normal;
        color: #4d4d4d;
        text-align: left
    }

    footer address .spbr {
        display: none
    }

    footer #global-site-link li:first-child:before {
        content: ""
    }

    footer #global-site-link li:after {
        content: ""
    }

    footer .global {
        display: block;
        font-size: 0;
        color: #4d4d4d;
        text-align: left
    }

    footer #global-site-link {
        margin: 10px auto
    }

    footer .global li {
        display: inline-block;
        font-size: 10px;
        color: #4d4d4d
    }

    footer .global li:first-child:before {
        margin-right: 10px;
        content: "|"
    }

    footer .global li:after {
        margin-right: 10px;
        margin-left: 10px;
        content: "|"
    }

    footer .global li:last-child:after {
        margin-right: 0
    }

    footer #global-site-link li a {
        padding-left: 8px;
        font-size: 11px;
        color: #373637;
        background: url(https://www.sapporo-u.ac.jp/common/img/ico_blue.svg) left center no-repeat;
        background-size: 6px auto
    }

    footer .copy {
        box-sizing: border-box;
        height: 40px;
        padding: 13px 40px 0 20px;
        font-size: 10px;
        font-style: normal;
        line-height: 1em;
        color: #4d4d4d;
        text-align: left
    }

    .webentry_footer_bn {
        padding-top: 25px
    }

    .webentry_footer_bn.prospect_top_bn_admission {
        padding-bottom: 25px
    }
}

@media all and (-ms-high-contrast: none) {
    footer .sns li img {
        width: 46px;
        height: 46px
    }

    footer .fo-logo img {
        width: 212px;
        height: 100%
    }

    footer #global-site-link li a {
        background-size: 6px 9px
    }
}

.sideSns {
    position: fixed;
    top: 180px;
    right: 0;
    z-index: 998;
    width: 60px
}

.sideSns ul li {
    margin-bottom: 25px
}

@media screen and (width <=768px) {
    .sideSns {
        position: relative;
        top: -60px;
        width: auto;
        padding: 10px 40px 10px 0;
        border-top: 1px solid #878787
    }

    .sideSns ul {
        display: flex;
        justify-content: space-between
    }

    .sideSns ul li {
        margin: 0 4%
    }

    .sideSns ul li img {
        max-width: 100%;
        height: auto
    }
}

.pc_only {
    display: block
}

.sp_only {
    display: none
}

.w {
    max-width: 1000px;
    margin: auto
}

@media screen and (width >=768px),
print {
    footer {
        position: relative;
        z-index: 40;
        background-color: #fff
    }
}

@media screen and (width <=768px) {
    .pc_only {
        display: none
    }

    .sp_only {
        display: block
    }
}

.tabibito {
    padding: 180px 0;
    background-color: #dcd8b24d
}

@media (max-width: 767px) {
    .tabibito {
        padding: 80px 0
    }
}

@media (min-width: 768px) {
    .tabibito.-index {
        padding: 40px 0 180px
    }
}

@media (max-width: 767px) {
    .tabibito.-index {
        padding: 20px 0 80px
    }
}

.tabibito .-title {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 3.8rem;
    font-weight: 400;
    text-align: center;
    letter-spacing: .2em
}

@media (max-width: 767px) {
    .tabibito .-title {
        font-size: 4.9230769231vw
    }
}

.tabibito .-title-index {
    width: 24.1666666667vw;
    margin: 0 auto
}

@media (max-width: 767px) {
    .tabibito .-title-index {
        width: 37.1794871795vw
    }
}

.tabibito .-title-main {
    display: inline-block;
    width: 19.0972222222vw;
    margin: 0 5px
}

@media (max-width: 767px) {
    .tabibito .-title-main {
        width: 28.9743589744vw
    }
}

.tabibito .-slider {
    margin-top: 50px
}

@media (max-width: 767px) {
    .tabibito .-slider {
        padding: 0 20px;
        margin-top: 30px
    }
}

@media (min-width: 768px) {
    .tabibito .-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 60px
    }
}

@media (max-width: 767px) {
    .tabibito .-pagination {
        display: none
    }
}

.tabibito .-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 12px !important;
    background-color: #4c52514d;
    opacity: 1
}

.tabibito .-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 18px;
    height: 18px;
    background-color: #e2863b
}

@media (min-width: 768px) {
    .tabibito .-navigation {
        display: none
    }
}

@media (max-width: 767px) {
    .tabibito .-navigation {
        position: absolute;
        top: 50%;
        z-index: 1;
        width: 100%;
        transform: translateY(-50%)
    }
}

.tabibito .-prev,
.tabibito .-next {
    position: absolute;
    width: 7.1794871795vw;
    aspect-ratio: 1/1;
    border-top: 1px solid #000814;
    border-right: 1px solid #000814
}

.tabibito .-prev {
    left: -5px;
    rotate: 225deg
}

.tabibito .-next {
    right: 35px;
    rotate: 45deg
}

.tabibito-slide-item {
    padding: 13px 13px 23px
}

@media (max-width: 767px) {
    .tabibito-slide-item {
        padding: 10px 10px 23px
    }
}

.tabibito-slide-item.swiper-slide {
    height: auto;
    background-color: #fff;
    border: 1px solid #000814
}

@media (min-width: 768px) {
    .tabibito-slide-item.swiper-slide {
        width: 504px
    }
}

.tabibito-slide-item.-index {
    color: #fff;
    background-color: #3d6e8b99
}

@media (min-width: 768px) {
    .tabibito-slide-item.-index:last-of-type {
        margin-top: 90px
    }
}

.tabibito-slide-item .-item-head {
    position: relative
}

.tabibito-slide-item .-state {
    position: absolute;
    top: -13px;
    right: 15px;
    width: 9.0277777778vw
}

@media (max-width: 767px) {
    .tabibito-slide-item .-state {
        top: -10px;
        right: 10px;
        width: 20.5128205128vw
    }
}

.tabibito-slide-item .-ribbon {
    position: absolute;
    bottom: -28px;
    width: 24.0972222222vw;
    aspect-ratio: 360/56;
    padding-left: 1.25vw
}

@media (max-width: 767px) {
    .tabibito-slide-item .-ribbon {
        width: 100%;
        padding-left: 1.9230769231vw
    }
}

.tabibito-slide-item .-item-body {
    padding: 0 1.25vw;
    margin-top: 28px
}

@media (max-width: 767px) {
    .tabibito-slide-item .-item-body {
        padding: 0 1.9230769231vw;
        margin-top: 28px
    }
}

.tabibito-slide-item .-subject {
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5652173913
}

@media (max-width: 767px) {
    .tabibito-slide-item .-subject {
        font-size: 3.6923076923vw
    }
}

.tabibito-slide-item .-low {
    padding-top: 26px;
    margin-top: 26px;
    border-top: 1px solid #000814
}

@media (max-width: 767px) {
    .tabibito-slide-item .-low {
        padding-top: 12px;
        margin-top: 12px
    }
}

.tabibito-slide-item .-low-index {
    border-top-color: #fff
}

.tabibito-slide-item .-prof {
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.5
}

@media (max-width: 767px) {
    .tabibito-slide-item .-prof {
        padding-right: 23.0769230769vw;
        font-size: 2.7692307692vw
    }
}

.tabibito-slide-item .-name {
    margin-top: 12px;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .06em
}

@media (max-width: 767px) {
    .tabibito-slide-item .-name {
        font-size: 4.3076923077vw
    }
}

.tabibito-slide-item .-btn {
    position: absolute;
    top: -30px;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 11.1111111111vw;
    aspect-ratio: 1/1;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    background-color: #000814;
    border-radius: 50%
}

@media (min-width: 768px) {
    .tabibito-slide-item .-btn {
        max-width: 140px
    }
}

@media (max-width: 767px) {
    .tabibito-slide-item .-btn {
        top: 0;
        width: 23.0769230769vw;
        font-size: 2.7692307692vw
    }
}

@media (hover: hover) and (pointer: fine) {
    .tabibito-slide-item .-btn:hover .-btn-arrow {
        left: 10px
    }
}

.tabibito-slide-item .-btn-arrow {
    position: relative;
    left: 0;
    display: inline-block;
    width: 30px;
    margin-top: 15px;
    border-bottom: 1px solid #ffffff;
    transition: .3s cubic-bezier(.43, .05, .17, 1)
}

@media (max-width: 767px) {
    .tabibito-slide-item .-btn-arrow {
        width: 20px;
        margin-top: 8px
    }
}

.tabibito-slide-item .-btn-arrow:after {
    position: absolute;
    right: -2px;
    bottom: 3px;
    width: 15px;
    height: 1px;
    content: "";
    background-color: #fff;
    transition: .3s cubic-bezier(.43, .05, .17, 1);
    rotate: 35deg
}

@media (max-width: 767px) {
    .tabibito-slide-item .-btn-arrow:after {
        bottom: 2px;
        width: 10px
    }
}

.index-mv {
    position: relative;
    width: 100vw;
    height: calc(100vh - 80px);
    overflow-x: clip
}

@media (max-width: 767px) {
    .index-mv {
        height: calc(100svh - 60px)
    }
}

@media (min-width: 768px) {
    .index-mv .-cont {
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 75vw;
        max-width: 1080px;
        height: 100%;
        margin: 0 auto;
        transform: translate(-50%, -50%)
    }
}

@media (max-width: 767px) {
    .index-mv .-cont {
        position: absolute;
        top: 25px;
        left: 0;
        z-index: 2;
        width: 100%
    }
}

.index-mv .-title {
    opacity: 0
}

.index-mv .-slider {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0
}

.index-mv .-bg {
    position: relative
}

.index-mv .-bg-pic {
    width: 100%;
    height: 100%
}

.index-mv .-bg-img-02 {
    -o-object-position: center right;
    object-position: center right
}

.index-intro {
    position: relative
}

@media (min-width: 768px) {
    .index-intro .-cont {
        position: relative;
        z-index: 1;
        padding-block: 180px;
        margin-inline: auto
    }
}

@media (max-width: 767px) {
    .index-intro .-cont {
        padding: 70px 7.6923076923vw
    }
}

@media (min-width: 768px) {
    .index-intro .-title {
        width: 25.9027777778vw;
        margin-inline: auto
    }
}

@media (max-width: 767px) {
    .index-intro .-title {
        width: 100%
    }
}

.index-intro .-descs {
    gap: 2em
}

@media (min-width: 768px) {
    .index-intro .-descs {
        margin-top: 60px
    }
}

@media (max-width: 767px) {
    .index-intro .-descs {
        padding: 0 6.4102564103vw;
        margin-top: 45px
    }
}

.index-intro .-desc {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    text-align: center;
    letter-spacing: .2em
}

@media (max-width: 767px) {
    .index-intro .-desc {
        font-size: 3.5384615385vw;
        text-align: center
    }
}

.index-intro .-bg {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 100%;
    transform: translate(-50%)
}

@media (max-width: 767px) {
    .index-intro .-bg {
        z-index: -1
    }
}

.index-interview {
    position: relative;
    overflow-x: clip
}

@media (min-width: 768px) {
    .index-interview {
        margin-top: 144px
    }
}

@media (max-width: 767px) {
    .index-interview {
        margin-top: 70px
    }
}

@media (min-width: 768px) {
    .index-interview .-wrap {
        position: relative;
        width: 100vw;
        max-width: 1440px;
        margin: 0 auto
    }

    .index-interview .-cont {
        position: relative;
        width: 75vw;
        max-width: 1080px;
        margin: 0 auto
    }
}

@media (max-width: 767px) {
    .index-interview .-cont {
        padding: 0 7.6923076923vw
    }
}

@media (min-width: 768px) {
    .index-interview .-text {
        position: absolute;
        top: 300px;
        left: 0;
        width: 100%;
        height: auto
    }
}

@media (min-width: 768px) and (max-width: 1439px) {
    .index-interview .-text {
        top: 18.75vw
    }
}

@media (min-width: 768px) {
    .index-interview .-title {
        width: 32.2916666667vw;
        max-width: 465px;
        margin-inline: auto
    }
}

@media (max-width: 767px) {
    .index-interview .-title {
        width: 56.4102564103vw;
        margin: 0 auto
    }
}

@media (min-width: 768px) {
    .index-interview .-desc-bodyContainer {
        display: block
    }
}

.index-interview .-desc {
    font-family: kinuta-maruminold-stdn, serif;
    font-style: normal;
    font-weight: 400;
    display: inline-block;
    margin-top: 53px;
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: .06em
}

@media (max-width: 767px) {
    .index-interview .-desc {
        display: block;
        padding: 0 7.6923076923vw;
        margin-top: 20px;
        font-size: 4.6153846154vw;
        line-height: 1.2;
        text-align: center
    }
}

@media (min-width: 768px) {
    .index-interview .-desc-space {
        display: inline-block;
        width: 2em;
        height: 1px
    }
}

@media (max-width: 767px) {
    .index-interview .-desc-space {
        display: none
    }
}

.index-interview .-desc-body {
    position: relative
}

@media (min-width: 768px) {
    .index-interview .-desc-body {
        display: inline-block
    }
}

@media (max-width: 767px) {
    .index-interview .-desc-body {
        display: block
    }
}

.index-interview .-desc-body:after {
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: #000814
}

@media (max-width: 767px) {
    .index-interview .-desc-body:after {
        bottom: -10px
    }
}

@media (min-width: 768px) {
    .index-interview .-ribbon {
        width: 12.5vw;
        max-width: 180px;
        margin-top: 134px
    }
}

@media (min-width: 768px) and (max-width: 1439px) {
    .index-interview .-ribbon {
        margin-top: 11.8055555556vw
    }
}

.index-interview .-prof {
    margin-top: 10px;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .03em
}

.index-interview .-name {
    position: relative;
    margin-top: 32px;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .06em
}

.index-interview .-name:before {
    position: absolute;
    top: -16px;
    left: 0;
    width: 30px;
    height: 1px;
    content: "";
    background-color: #000814
}

@media (max-width: 767px) {
    .index-interview .-img {
        margin-top: 40px
    }
}

.index-interview .-btn {
    position: relative;
    display: inline-block;
    padding: 11px 34px 11px 14px;
    margin-top: 32px;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    color: #fff;
    letter-spacing: .1em;
    background-color: #000814
}

@media (hover: hover) and (pointer: fine) {
    .index-interview .-btn:hover .-btn-arrow {
        right: -30px;
        width: 30px
    }
}

@media (max-width: 767px) {
    .index-interview .-btn {
        display: block;
        width: 180px;
        padding: 10px 20px;
        margin: 50px auto 0;
        font-size: 3.6923076923vw
    }
}

.index-interview .-btn-ui {
    position: absolute;
    right: 0;
    bottom: 12px
}

.index-interview .-btn-line {
    display: block;
    width: 20px;
    height: 1px;
    background-color: #fff
}

@media (max-width: 767px) {
    .index-interview .-btn-line {
        width: 12px
    }
}

.index-interview .-btn-arrow {
    position: absolute;
    right: -20px;
    bottom: 0;
    display: block;
    width: 20px;
    height: 1px;
    background-color: #000814;
    transition: .3s cubic-bezier(.43, .05, .17, 1)
}

@media (max-width: 767px) {
    .index-interview .-btn-arrow {
        right: -12px;
        width: 12px
    }
}

.index-interview .-btn-arrow:after {
    position: absolute;
    right: -2px;
    bottom: 4px;
    width: 15px;
    height: 1px;
    content: "";
    background-color: #000814;
    rotate: 35deg
}

@media (max-width: 767px) {
    .index-interview .-btn-arrow:after {
        bottom: 3px;
        width: 12px
    }
}

@media (min-width: 768px) {
    .index-interview .-bg {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -2;
        width: 100%;
        height: 100%
    }

    .index-interview .-enEle {
        position: absolute;
        top: -144px;
        left: 50%;
        min-width: 1618px;
        max-width: 1618px;
        aspect-ratio: 1618/755;
        transform: translate(-50%)
    }
}

.index-obog {
    position: relative;
    margin-top: 120px
}

@media (min-width: 768px) and (max-width: 1439px) {
    .index-obog {
        padding-inline: 45px
    }
}

@media (max-width: 767px) {
    .index-obog {
        aspect-ratio: 780/1000;
        margin-top: 80px
    }
}

@media (min-width: 768px) {
    .index-obog:before {
        position: absolute;
        bottom: 80px;
        left: 0;
        width: 100%;
        height: 420px;
        content: "";
        background-color: #dde4de
    }

    .index-obog:after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 80px;
        content: "";
        background-color: #dcd8b24d
    }

    .index-obog .-cont {
        position: relative;
        z-index: 2;
        width: 106.25vw;
        max-width: 1530px;
        aspect-ratio: 1530/840;
        margin-inline: auto
    }
}

@media (min-width: 768px) and (max-width: 1439px) {
    .index-obog .-cont {
        width: 100%
    }
}

@media (max-width: 767px) {
    .index-obog .-cont {
        padding-top: 45px
    }
}

.index-obog .-lead {
    position: relative;
    z-index: 2;
    font-size: 3.2rem;
    letter-spacing: .06em;
    line-height: 1.8125;
    font-family: kinuta-maruminold-stdn, serif;
    font-style: normal;
    font-weight: 400
}

@media (max-width: 767px) {
    .index-obog .-lead {
        display: none
    }

    .index-obog .-lead-body {
        display: inline-block;
        padding: 0 0 0 4.1666666667vw;
        line-height: 1.5;
        background-color: #fff
    }
}

.index-obog .-slider {
    margin-top: 62px
}

.index-obog .-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%)
}

.index-data {
    background-image: url(/prospect/tohoku/assets/images/index/data-bg.png);
    background-repeat: repeat;
    background-size: 40px
}

@media (max-width: 767px) {
    .index-data {
        background-size: 20px
    }
}

@media (min-width: 768px) {
    .index-data .-cont {
        position: relative;
        width: 75vw;
        max-width: 1080px;
        padding: 205px 0 132px;
        margin: 0 auto
    }
}

@media (max-width: 767px) {
    .index-data .-cont {
        padding: 80px 7.6923076923vw
    }
}

.index-data .-head {
    display: flex;
    flex-direction: column;
    align-items: center
}

.index-data .-shoulder {
    margin: 0 auto
}

@media (min-width: 768px) {
    .index-data .-shoulder {
        width: 11.0416666667vw
    }
}

@media (max-width: 767px) {
    .index-data .-shoulder {
        width: 25.641025641vw
    }
}

.index-data .-title {
    position: relative;
    display: inline-block;
    margin-top: 25px;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 3.8rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: .2em
}

@media (max-width: 767px) {
    .index-data .-title {
        margin-top: 15px;
        font-size: 5.8461538462vw
    }
}

.index-data .-title:before {
    position: absolute;
    top: -10px;
    left: 50%;
    width: 60px;
    height: 1px;
    content: "";
    background-color: #000814;
    transform: translate(-50%)
}

@media (max-width: 767px) {
    .index-data .-title:before {
        top: 0;
        width: 30px
    }
}

.index-data .-title:after {
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    content: "";
    background-color: #ffe500
}

@media (max-width: 767px) {
    .index-data .-title:after {
        height: 8px
    }
}

.index-data .-title-lg,
.index-data .-title-body {
    position: relative;
    z-index: 1
}

.index-data .-title-lg {
    display: inline-block;
    font-size: 1.4em;
    -webkit-text-fill-color: white;
    -webkit-text-stroke: 2px #000814
}

@media (max-width: 767px) {
    .index-data .-title-lg {
        -webkit-text-stroke: 1.5px #000814
    }
}

@media (min-width: 768px) {
    .index-data .-body {
        margin-top: 100px
    }
}

@media (max-width: 767px) {
    .index-data .-body {
        margin-top: 50px
    }
}

@media (min-width: 768px) {
    .index-data .-area {
        gap: 45px
    }

    .index-data .-row {
        gap: 6.9444444444vw
    }
}

@media (max-width: 767px) {
    .index-data .-row {
        padding-bottom: 50px;
        margin-bottom: 50px;
        border-bottom: 1px dashed #000814
    }
}

.index-data .-block:last-of-type {
    position: relative
}

@media (max-width: 767px) {
    .index-data .-block:last-of-type {
        padding-top: 50px;
        margin-top: 50px;
        border-top: 1px dashed #000814
    }
}

@media (min-width: 768px) {
    .index-data .-block:last-of-type:before {
        position: absolute;
        top: 0;
        left: -3.4722222222vw;
        width: 1px;
        height: 100%;
        content: "";
        border-left: 1px dashed #000814
    }

    .index-data .-enquete {
        gap: 60px;
        margin-top: 15px
    }
}

@media (max-width: 767px) {
    .index-data .-enquete {
        gap: 36px;
        margin-top: 30px
    }
}

@media (min-width: 768px) {
    .index-data .-ele {
        position: absolute;
        top: 0;
        left: -17.5694444444vw;
        width: 15.5555555556vw
    }
}

.index-data .-youtube {
    display: block;
    transition: opacity .5s ease-in-out
}

@media (hover: hover) and (pointer: fine) {
    .index-data .-youtube:hover {
        opacity: .7
    }
}

.index-employment {
    position: relative;
    overflow-x: clip;
    background-color: #69b8dc26
}

@media (max-width: 767px) {
    .index-employment {
        background-size: 20px
    }
}

.index-employment .-cont {
    position: relative;
    z-index: 1
}

@media (min-width: 768px) {
    .index-employment .-cont {
        width: 75vw;
        max-width: 1080px;
        padding: 210px 0;
        margin: 0 auto
    }
}

@media (max-width: 767px) {
    .index-employment .-cont {
        padding: 80px 7.6923076923vw
    }
}

.index-employment .-head {
    display: flex;
    flex-direction: column;
    align-items: center
}

.index-employment .-title {
    position: relative;
    display: inline-block;
    margin-top: 25px;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 3.8rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: .2em
}

@media (max-width: 767px) {
    .index-employment .-title {
        margin-top: 15px;
        font-size: 5.8461538462vw;
        letter-spacing: 0
    }
}

@media (min-width: 768px) {
    .index-employment .-title:after {
        position: absolute;
        bottom: 6px;
        left: 0;
        width: 100%;
        height: 12px;
        content: "";
        background-color: #ffe500
    }
}

.index-employment .-title-lg,
.index-employment .-title-body {
    position: relative;
    z-index: 1
}

@media (max-width: 767px) {

    .index-employment .-title-lg:after,
    .index-employment .-title-body:after {
        position: absolute;
        bottom: 3px;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 8px;
        content: "";
        background-color: #ffe500
    }
}

.index-employment .-title-lg {
    display: inline-block;
    font-size: 1.4em;
    -webkit-text-fill-color: white;
    -webkit-text-stroke: 2px #000814
}

@media (max-width: 767px) {
    .index-employment .-title-lg {
        -webkit-text-stroke: 1.5px #000814
    }
}

.index-employment .-desc {
    margin-top: 60px;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: .2em;
    line-height: 1.7777777778
}

@media (max-width: 767px) {
    .index-employment .-desc {
        margin-top: 35px;
        font-size: 3.6923076923vw
    }
}

.index-employment .-lead {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px
}

@media (max-width: 767px) {
    .index-employment .-lead {
        margin-top: 15px
    }
}

.index-employment .-lead-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4em;
    aspect-ratio: 1/1;
    padding-bottom: 5px;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    letter-spacing: .03em;
    background-color: #c40030;
    border-radius: 50%
}

@media (max-width: 767px) {
    .index-employment .-lead-circle {
        width: 5em;
        font-size: 3.6923076923vw
    }
}

.index-employment .-lead-body {
    padding: 10px 3.8194444444vw;
    margin-left: -2.0833333333vw;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    border-top: 2px solid #c40030;
    border-bottom: 2px solid #c40030
}

@media (max-width: 767px) {
    .index-employment .-lead-body {
        padding: 10px 1.2820512821vw 10px 7.6923076923vw;
        margin-left: -6.4102564103vw;
        font-size: 2.7692307692vw;
        line-height: 1.4
    }
}

.index-employment .-lead-lg {
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .06em
}

@media (max-width: 767px) {
    .index-employment .-lead-lg {
        font-size: 3.0769230769vw
    }
}

@media (min-width: 768px) {
    .index-employment .-body {
        margin-top: 100px
    }
}

@media (max-width: 767px) {
    .index-employment .-body {
        margin-top: 50px
    }
}

@media (min-width: 768px) {
    .index-employment .-grid {
        gap: 4.1666666667vw
    }
}

.index-employment .-grid-block:last-of-type {
    position: relative
}

@media (max-width: 767px) {
    .index-employment .-grid-block:last-of-type {
        padding-top: 50px;
        margin-top: 50px;
        border-top: 1px dashed #000814
    }
}

@media (min-width: 768px) {
    .index-employment .-grid-block:last-of-type:before {
        position: absolute;
        top: 0;
        left: -2.0833333333vw;
        width: 1px;
        height: 100%;
        content: "";
        border-left: 1px dashed #000814
    }

    .index-employment .-obog {
        display: flex;
        gap: 60px;
        align-items: flex-start;
        justify-content: space-between;
        margin-top: 90px
    }
}

@media (max-width: 767px) {
    .index-employment .-obog {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 50px;
        margin-top: 50px
    }
}

@media (min-width: 768px) {
    .index-employment .-ele {
        position: absolute;
        top: 0;
        right: -18.6111111111vw;
        width: 15.8333333333vw
    }
}

.index-employment .-bg-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.index-employment .-bg-btm {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%
}

.mv {
    position: relative;
    width: 100%;
    aspect-ratio: 1920/700
}

@media (max-width: 767px) {
    .mv {
        aspect-ratio: 780/920
    }
}

.mv .-cont {
    width: 75vw;
    max-width: 1080px;
    padding: 72px 5vw;
    margin: 0 auto
}

@media (max-width: 767px) {
    .mv .-cont {
        width: 100%;
        padding: 36px 5.3846153846vw
    }
}

.mv .-title {
    width: 20.6944444444vw
}

@media (max-width: 767px) {
    .mv .-title {
        width: 43.0769230769vw
    }
}

.mv .-title-obog {
    width: 24.5138888889vw
}

@media (max-width: 767px) {
    .mv .-title-obog {
        width: 45.2564102564vw
    }
}

.mv .-lead {
    width: 41.9444444444vw
}

@media (max-width: 767px) {
    .mv .-lead {
        width: 37.5641025641vw
    }
}

.mv .-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%)
}

.profile {
    padding: 60px 0 70px;
    background-color: #649c4a0d
}

@media (max-width: 767px) {
    .profile {
        padding: 46px 0 52px
    }
}

.profile.-iwate {
    background-color: #69b8dc0d
}

.profile.-akita {
    background-color: #e2863b0d
}

.profile.-tokyo {
    background-color: #0041870d
}

.profile.-gunma {
    background-color: #9249920d
}

.profile.-niigata {
    background-color: #5f396c0d
}

@media (min-width: 768px) {
    .profile .-cont {
        display: flex;
        gap: 10%;
        justify-content: space-between;
        width: 75vw;
        max-width: 1080px;
        margin: 0 auto
    }
}

@media (max-width: 767px) {
    .profile .-cont {
        padding: 0 15.3846153846vw
    }
}

@media (min-width: 768px) {
    .profile .-main {
        flex: 0;
        width: 35%;
        margin-top: -18px
    }
}

.profile .-head {
    display: flex;
    gap: 4px;
    align-items: center
}

.profile .-title {
    width: 20.0694444444vw;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(76, 82, 81, .3)
}

@media (max-width: 767px) {
    .profile .-title {
        width: 54.8717948718vw;
        border-bottom-width: 1px
    }
}

.profile .-title-img {
    width: 13.6111111111vw
}

@media (max-width: 767px) {
    .profile .-title-img {
        width: 25.1282051282vw
    }
}

.profile .-icon {
    width: 6.0416666667vw
}

@media (max-width: 767px) {
    .profile .-icon {
        width: 13.3333333333vw
    }

    .profile .-body {
        text-align: center
    }
}

.profile .-name {
    margin-top: .8em;
    font-family: Zen Kaku Gothic New, sans-serif;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .06em
}

@media (max-width: 767px) {
    .profile .-name {
        font-size: 4.3076923077vw
    }
}

@media (min-width: 768px) {
    .profile .-sub {
        display: flex;
        flex: 1;
        gap: 0 2.2222222222vw;
        justify-content: space-between;
        width: 55%
    }
}

@media (max-width: 767px) {
    .profile .-sub {
        margin-top: 30px
    }
}

.profile .-text {
    flex: 1;
    text-align: justify
}

@media (min-width: 768px) {
    .profile .-text {
        width: 61.6%
    }
}

.profile .-subject {
    width: 100%;
    margin-bottom: 12px
}

.profile .-pic {
    width: 32.3%
}

@media (max-width: 767px) {
    .profile .-pic {
        width: 48.7179487179vw;
        margin: 10px auto 30px
    }
}

.interview {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 180px;
    margin-top: 180px;
    overflow-x: clip
}

@media (max-width: 767px) {
    .interview {
        gap: 80px;
        margin-top: 80px
    }
}

.interview.-is-obog {
    margin-bottom: 180px
}

@media (max-width: 767px) {
    .interview.-is-obog {
        margin-bottom: 80px
    }
}

.interview .-title {
    text-align: center;
    letter-spacing: .2em
}

.interview .-title-bold {
    font-size: 1.4em;
    -webkit-text-fill-color: white;
    -webkit-text-stroke: 2px #000814
}

.interview .-title-line {
    position: relative;
    display: inline-block
}

.interview .-title-line:after {
    position: absolute;
    bottom: -3px;
    left: 50%;
    z-index: -1;
    width: 102%;
    height: 12px;
    content: "";
    background-color: #ffe500;
    transform: translate(-52%)
}

.interview .-head {
    display: flex
}

@media (min-width: 768px) {
    .interview .-head {
        position: relative;
        align-items: center;
        justify-content: flex-end;
        width: 100vw;
        max-width: 1440px;
        margin: 100px auto 0
    }
}

@media (width <=1440px) {
    .interview .-head {
        padding: 0 5vw
    }
}

@media (max-width: 767px) {
    .interview .-head {
        flex-flow: column-reverse wrap;
        padding: 0 7.6923076923vw;
        margin: 70px 0 0
    }
}

@media (min-width: 768px) {
    .interview .-head-reverse {
        justify-content: flex-start
    }

    .interview .-head-inner {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 75vw;
        max-width: 1080px;
        margin: 0 auto;
        transform: translate(-50%, -50%)
    }
}

@media (min-width: 1440px) {
    .interview .-head-inner.-yamada {
        top: 45px;
        right: 120px;
        left: auto;
        transform: translate(0)
    }
}

@media (min-width: 768px) and (max-width: 1439px) {
    .interview .-head-inner.-yamada {
        top: 25px;
        right: 50px;
        left: auto;
        transform: translate(0)
    }
}

@media (min-width: 768px) {
    .interview .-head-inner-reverse {
        display: flex;
        justify-content: flex-end
    }

    .interview .-head-pic {
        width: 58.3333333333vw;
        max-width: 840px
    }
}

@media (width <=1440px) {
    .interview .-head-pic {
        right: 3.3333333333vw
    }
}

@media (min-width: 768px) {
    .interview .-head-pic-reverse {
        width: 56.25vw;
        max-width: 810px
    }

    .interview .-head-subject.-small {
        width: 35%
    }

    .interview .-head-subject.-mt {
        margin-top: 70px
    }
}

@media (max-width: 767px) {
    .interview .-head-subject {
        margin-top: 30px;
        text-align: center
    }
}

@media (min-width: 768px) {
    .interview .-head-subject-reverse {
        width: 52%
    }

    .interview .-body {
        min-width: 768px;
        max-width: 56.9444444444vw;
        margin: 60px auto 0
    }
}

@media (max-width: 767px) {
    .interview .-body {
        padding: 0 7.6923076923vw;
        margin-top: 30px
    }
}

@media (min-width: 768px) {
    .interview .-low {
        position: relative;
        width: 100%;
        aspect-ratio: 1920/700;
        margin: 180px auto 0
    }
}

@media (max-width: 767px) {
    .interview .-low {
        margin-top: 80px
    }
}

@media (min-width: 768px) {
    .interview .-low-pic {
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 1;
        width: 100%;
        height: 100%;
        transform: translate(-50%, -50%)
    }
}

.relative {
    position: relative
}

.block {
    display: block
}

.flex {
    display: flex
}

.grid {
    display: grid
}

.h-full {
    height: 100%
}

.w-full {
    width: 100%
}

.cursor-not-allowed {
    cursor: not-allowed
}

.resize {
    resize: both
}

.list-decimal {
    list-style-type: decimal
}

.list-disc {
    list-style-type: disc
}

.list-none {
    list-style-type: none
}

.flex-row-reverse {
    flex-direction: row-reverse
}

.flex-col {
    flex-direction: column
}

.flex-col-reverse {
    flex-direction: column-reverse
}

.flex-wrap {
    flex-wrap: wrap
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse
}

.items-start {
    align-items: flex-start
}

.items-end {
    align-items: flex-end
}

.items-center {
    align-items: center
}

.items-baseline {
    align-items: baseline
}

.items-stretch {
    align-items: stretch
}

.justify-start {
    justify-content: flex-start
}

.justify-end {
    justify-content: flex-end
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.justify-around {
    justify-content: space-around
}

.justify-evenly {
    justify-content: space-evenly
}

.rounded {
    border-radius: .25rem
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-3xl {
    border-radius: 1.5rem
}

.rounded-\[50\%\] {
    border-radius: 50%
}

.rounded-full {
    border-radius: 9999px
}

.rounded-lg {
    border-radius: .5rem
}

.rounded-md {
    border-radius: .375rem
}

.rounded-sm {
    border-radius: .125rem
}

.rounded-xl {
    border-radius: .75rem
}

.border {
    border-width: 1px
}

.border-black {
    --tw-border-opacity: 1;
    border-color: rgb(34 23 19 / var(--tw-border-opacity))
}

.border-main {
    --tw-border-opacity: 1;
    border-color: rgb(255 195 0 / var(--tw-border-opacity))
}

.border-mainLight {
    --tw-border-opacity: 1;
    border-color: rgb(255 214 10 / var(--tw-border-opacity))
}

.border-pGray {
    --tw-border-opacity: 1;
    border-color: rgb(173 181 189 / var(--tw-border-opacity))
}

.border-pGrayLight {
    --tw-border-opacity: 1;
    border-color: rgb(233 236 239 / var(--tw-border-opacity))
}

.border-red-500 {
    --tw-border-opacity: 1;
    border-color: rgb(239 68 68 / var(--tw-border-opacity))
}

.border-richBlack {
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity))
}

.border-sub {
    --tw-border-opacity: 1;
    border-color: rgb(0 53 102 / var(--tw-border-opacity))
}

.border-subDark {
    --tw-border-opacity: 1;
    border-color: rgb(0 29 61 / var(--tw-border-opacity))
}

.border-white {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity))
}

.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(34 23 19 / var(--tw-bg-opacity))
}

.bg-main {
    --tw-bg-opacity: 1;
    background-color: rgb(255 195 0 / var(--tw-bg-opacity))
}

.bg-mainLight {
    --tw-bg-opacity: 1;
    background-color: rgb(255 214 10 / var(--tw-bg-opacity))
}

.bg-pGray {
    --tw-bg-opacity: 1;
    background-color: rgb(173 181 189 / var(--tw-bg-opacity))
}

.bg-pGrayLight {
    --tw-bg-opacity: 1;
    background-color: rgb(233 236 239 / var(--tw-bg-opacity))
}

.bg-red-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / var(--tw-bg-opacity))
}

.bg-richBlack {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity))
}

.bg-sub {
    --tw-bg-opacity: 1;
    background-color: rgb(0 53 102 / var(--tw-bg-opacity))
}

.bg-subDark {
    --tw-bg-opacity: 1;
    background-color: rgb(0 29 61 / var(--tw-bg-opacity))
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity))
}

.object-contain {
    -o-object-fit: contain;
    object-fit: contain
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover
}

.object-fill {
    -o-object-fit: fill;
    object-fit: fill
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-justify {
    text-align: justify
}

.text-black {
    --tw-text-opacity: 1;
    color: rgb(34 23 19 / var(--tw-text-opacity))
}

.text-main {
    --tw-text-opacity: 1;
    color: rgb(255 195 0 / var(--tw-text-opacity))
}

.text-mainLight {
    --tw-text-opacity: 1;
    color: rgb(255 214 10 / var(--tw-text-opacity))
}

.text-pGray {
    --tw-text-opacity: 1;
    color: rgb(173 181 189 / var(--tw-text-opacity))
}

.text-pGrayLight {
    --tw-text-opacity: 1;
    color: rgb(233 236 239 / var(--tw-text-opacity))
}

.text-red-500 {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity))
}

.text-richBlack {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity))
}

.text-sub {
    --tw-text-opacity: 1;
    color: rgb(0 53 102 / var(--tw-text-opacity))
}

.text-subDark {
    --tw-text-opacity: 1;
    color: rgb(0 29 61 / var(--tw-text-opacity))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity))
}

.shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.outline {
    outline-style: solid
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

@media (min-width: 768px) {
    ._pc {
        display: block
    }
}

@media (max-width: 767px) {
    ._pc {
        display: none
    }
}

@media (min-width: 768px) {
    ._sp {
        display: none
    }
}

@media (max-width: 767px) {
    ._sp {
        display: block
    }
}

._tab {
    display: none
}

@media (max-width: 1023px) {
    ._tab {
        display: block
    }

    ._tab-hide {
        display: none
    }
}

@media (min-width: 768px) {
    br._pc {
        display: inline
    }
}

@media (max-width: 1023px) {
    br._tab {
        display: inline
    }

    br._tab-hide {
        display: none
    }
}

@media (max-width: 767px) {
    br._sp {
        display: inline
    }

    br._sp-hide {
        display: none
    }
}

._fit-contain {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

._fill {
    fill: currentcolor
}

._stroke {
    stroke: currentcolor
}

.after\:bg-current:after {
    content: var(--tw-content);
    background-color: currentColor
}