@font-face {
    font-style: normal;
    font-weight: 400;
    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-family: swiper-icons
}

:root {
    --swiper-theme-color: #007aff;
    --swiper-navigation-size: 44px
}

:host {
    display: block;
    z-index: 1;
    position: relative;
    margin-right: auto;
    margin-left: auto
}

.swiper {
    display: block;
    z-index: 1;
    position: relative;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    overflow: hidden;
    list-style: none
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    box-sizing: content-box;
    display: flex;
    z-index: 1;
    position: relative;
    width: 100%;
    height: 100%;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial)
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    display: block;
    position: relative;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    transition-property: transform
}

.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 {
    -webkit-backface-visibility: hidden;
    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-cube-shadow,
.swiper-3d .swiper-slide {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    -ms-overflow-style: none;
    overflow: auto;
    scrollbar-width: 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 {
    flex-shrink: 0;
    order: 9999;
    content: ""
}

.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 {
    width: var(--swiper-centered-offset-after);
    height: 100%;
    min-height: 1px
}

.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-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-lazy-preloader {
    box-sizing: border-box;
    z-index: 10;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 42px;
    height: 42px;
    margin-top: -21px;
    margin-left: -21px;
    transform-origin: 50%;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .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(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.swiper-virtual .swiper-slide {
    /* -webkit-backface-visibility: hidden; */
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    width: var(--swiper-virtual-size);
    height: 1px
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

.swiper-button-next,
.swiper-button-prev {
    display: flex;
    z-index: 10;
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    align-items: center;
    justify-content: center;
    width: calc(var(--swiper-navigation-size)/44*27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size)/2);
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
    cursor: pointer
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    cursor: auto;
    opacity: .35;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    cursor: auto;
    opacity: 0;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next svg,
.swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    right: auto;
    left: var(--swiper-navigation-sides-offset, 10px)
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
    left: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-variant: initial;
    font-size: var(--swiper-navigation-size);
    line-height: 1;
    font-family: swiper-icons;
    letter-spacing: 0;
    text-transform: none !important
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-pagination {
    z-index: 10;
    position: absolute;
    transform: translate3d(0, 0, 0);
    text-align: center;
    transition: .3s opacity
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    top: var(--swiper-pagination-top, auto);
    bottom: var(--swiper-pagination-bottom, 8px);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    position: relative;
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33)
}

.swiper-pagination-bullet {
    display: inline-block;
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2)
}

button.swiper-pagination-bullet {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    opacity: var(--swiper-pagination-bullet-opacity, 1)
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
    top: 50%;
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    transform: translate3d(0px, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    display: block;
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    width: 8px;
    transform: translateY(-50%)
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-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: translateX(-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 {
    position: absolute;
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25))
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.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-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    top: 0;
    left: 0;
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px)
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
    top: 0;
    left: 0;
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    position: relative;
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
    touch-action: none
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    z-index: 50;
    position: absolute;
    top: var(--swiper-scrollbar-top, auto);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    left: var(--swiper-scrollbar-sides-offset, 1%);
    width: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%));
    height: var(--swiper-scrollbar-size, 4px)
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
    z-index: 50;
    position: absolute;
    top: var(--swiper-scrollbar-sides-offset, 1%);
    right: var(--swiper-scrollbar-right, 4px);
    left: var(--swiper-scrollbar-left, auto);
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5))
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move;
    touch-action: none
}

.swiper .swiper-notification {
    z-index: -1000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none
}

.swiper-free-mode>.swiper-wrapper {
    margin: 0 auto;
    transition-timing-function: ease-out
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-direction: column;
    flex-wrap: wrap
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active {
    pointer-events: auto
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    -webkit-backface-visibility: hidden;
    visibility: hidden;
    z-index: 1;
    width: 100%;
    height: 100%;
    transform-origin: 0 0;
    backface-visibility: hidden;
    pointer-events: none
}

.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 {
    visibility: visible;
    pointer-events: auto
}

.swiper-cube .swiper-cube-shadow {
    z-index: 0;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .6
}

.swiper-cube .swiper-cube-shadow:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000;
    content: "";
    filter: blur(50px)
}

.swiper-cube .swiper-slide-next+.swiper-slide {
    visibility: visible;
    pointer-events: auto
}

.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,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    -webkit-backface-visibility: hidden;
    z-index: 0;
    backface-visibility: hidden
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    -webkit-backface-visibility: hidden;
    z-index: 1;
    backface-visibility: hidden;
    pointer-events: none
}

.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-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    -webkit-backface-visibility: hidden;
    z-index: 0;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    overflow: hidden;
    backface-visibility: hidden;
    transition-property: transform, opacity, height
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    -webkit-backface-visibility: hidden;
    overflow: hidden;
    transform-origin: center bottom;
    backface-visibility: hidden
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    background: rgba(0, 0, 0, 0);
    font-style: normal;
    font-weight: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline
}

img {
    vertical-align: bottom
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
    display: block
}

:focus {
    outline: none
}

a:not([class]),
a:not([class]):link,
a:not([class]):visited,
a:not([class]):hover,
a:not([class]):active {
    margin: 0;
    padding: 0;
    outline: 0;
    text-decoration: none;
    vertical-align: baseline;
    cursor: pointer
}

ol,
ul {
    list-style: none
}

table {
    width: 100%;
    border-collapse: collapse;
    border-collapse: collapse;
    border-spacing: 0
}

caption,
th,
td {
    text-align: left
}

fieldset {
    border: none
}

input,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    background-image: none;
    background-color: rgba(0, 0, 0, 0);
    font-size: 100%;
    font-family: inherit
}

input,
select {
    vertical-align: middle
}

input[type=radio],
input.radio,
input[type=checkbox],
input.checkbox {
    position: relative;
    top: -0.1em;
    margin-top: 0;
    margin-bottom: 0
}

textarea {
    overflow: auto
}

label,
button {
    cursor: pointer
}

blockquote,
q {
    quotes: none
}

blockquote::before,
blockquote::after,
q::before,
q::after {
    content: "";
    content: none
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

del {
    text-decoration: line-through
}

ins {
    background-color: #ffb;
    color: #000;
    text-decoration: none
}

mark {
    background-color: #ffb;
    color: #000;
    text-decoration: none
}

hr {
    display: block;
    height: 1px;
    margin: 0;
    padding: 0;
    clear: both;
    border: none;
    border-top: 1px solid #ccc
}

main {
    display: block
}

html {
    height: 100%;
    font-size: 62.5%
}

body {
    font-feature-settings: "palt";
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box;
    overflow-x: hidden;
    background-color: #fff;
    color: #3c3c3c;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1;
    font-family: "Noto Sans JP", sans-serif;
    font-kerning: normal;
    letter-spacing: .04em
}

body *,
body *::before,
body *::after {
    box-sizing: border-box
}

body.is-modalOpen,
body.is-movieModalOpen {
    height: 100%;
    overflow: hidden
}

.mb5 {
    margin-bottom: 5px
}

.mb10 {
    margin-bottom: 10px
}

.mb15 {
    margin-bottom: 15px
}

.mb20 {
    margin-bottom: 20px
}

.mb25 {
    margin-bottom: 25px
}

.mb30 {
    margin-bottom: 30px
}

.mb35 {
    margin-bottom: 35px
}

.mb40 {
    margin-bottom: 40px
}

.mb45 {
    margin-bottom: 45px
}

.mb50 {
    margin-bottom: 50px
}

.mb55 {
    margin-bottom: 55px
}

.mb60 {
    margin-bottom: 60px
}

.mb65 {
    margin-bottom: 65px
}

.mb70 {
    margin-bottom: 70px
}

.mb75 {
    margin-bottom: 75px
}

.mb80 {
    margin-bottom: 80px
}

.mb85 {
    margin-bottom: 85px
}

.mb90 {
    margin-bottom: 90px
}

.mb100 {
    margin-bottom: 100px
}

.mb110 {
    margin-bottom: 110px
}

.mb120 {
    margin-bottom: 120px
}

.mb130 {
    margin-bottom: 130px
}

.mb140 {
    margin-bottom: 140px
}

.mb150 {
    margin-bottom: 150px
}

.mb160 {
    margin-bottom: 160px
}

.mb190 {
    margin-bottom: 190px
}

.mb200 {
    margin-bottom: 200px
}

.mb210 {
    margin-bottom: 210px
}

.mb250 {
    margin-bottom: 250px
}

.mb300 {
    margin-bottom: 300px
}

.mb05em {
    margin-bottom: .5em
}

.mb10em {
    margin-bottom: 1em
}

.mb15em {
    margin-bottom: 1.5em
}

.mb20em {
    margin-bottom: 2em
}

.mb25em {
    margin-bottom: 2.5em
}

.mb30em {
    margin-bottom: 3em
}

.mt20 {
    margin-top: 20px
}

.mt30 {
    margin-top: 30px
}

.pt5 {
    padding-top: 5px
}

.pt10 {
    padding-top: 10px
}

.pt15 {
    padding-top: 15px
}

.pt20 {
    padding-top: 20px
}

.pt30 {
    padding-top: 30px
}

.pt40 {
    padding-top: 40px
}

.pt45 {
    padding-top: 45px
}

.pt50 {
    padding-top: 50px
}

.pt60 {
    padding-top: 60px
}

.pt70 {
    padding-top: 70px
}

.pt80 {
    padding-top: 80px
}

.pt95 {
    padding-top: 95px
}

.pt100 {
    padding-top: 100px
}

.pt120 {
    padding-top: 120px
}

.pt150 {
    padding-top: 150px
}

.pt05em {
    padding-top: .5em
}

.pt10em {
    padding-top: 1em
}

.pt15em {
    padding-top: 1.5em
}

.pt20em {
    padding-top: 2em
}

.pb10 {
    padding-bottom: 10px
}

.pb20 {
    padding-bottom: 20px
}

.pb60 {
    padding-bottom: 60px
}

.pb80 {
    padding-bottom: 80px
}

.pb150 {
    padding-bottom: 150px
}

.pb200 {
    padding-bottom: 200px
}

.tfY3 {
    transform: translateY(3px)
}

.tfY5 {
    transform: translateY(5px)
}

.tfY7 {
    transform: translateY(7px)
}

.tfY10 {
    transform: translateY(10px)
}

.tfY15 {
    transform: translateY(15px)
}

.tfY-5 {
    transform: translateY(-5px)
}

.tfY-10 {
    transform: translateY(-10px)
}

.tfY-15 {
    transform: translateY(-15px)
}

.tfY-30 {
    transform: translateY(-30px)
}

body span {
    font-weight: inherit
}

.fwNormal {
    font-weight: normal
}

.fw500 {
    font-weight: 500
}

.fw600 {
    font-weight: 600
}

strong,
.fw700,
.fwBold {
    font-weight: 700
}

.italic {
    font-style: italic
}

.ffEn {
    font-family: "Chillax", sans-serif
}

.ffJost {
    font-style: normal;
    font-weight: 500;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto
}

.fcMain {
    color: #505050
}

.fcSub {
    color: #a5915a
}

.fcText {
    color: #000
}

.fcTextLight {
    color: #3c3c3c
}

.fcBase {
    color: #d9d9d6
}

.fcWhite {
    color: #fff
}

.fcBlack {
    color: #000
}

.fs0 {
    font-size: 0
}

.fs9 {
    transform: scale(0.9);
    transform-origin: center left;
    font-size: 1rem;
    line-height: 1.6666
}

.fs10 {
    font-size: 1rem
}

.fs11 {
    font-size: 1.1rem
}

.fs12 {
    font-size: 1.2rem
}

.fs13 {
    font-size: 1.3rem
}

.fs14 {
    font-size: 1.4rem
}

.fs15 {
    font-size: 1.5rem
}

.fs16 {
    font-size: 1.6rem
}

.fs17 {
    font-size: 1.7rem
}

.fs18 {
    font-size: 1.8rem
}

.fs20 {
    font-size: 2rem
}

.fs22 {
    font-size: 2.2rem
}

.fs23 {
    font-size: 2.3rem
}

.fs24 {
    font-size: 2.4rem
}

.fs25 {
    font-size: 2.5rem
}

.fs26 {
    font-size: 2.6rem
}

.fs28 {
    font-size: 2.8rem
}

.fs30 {
    font-size: 3rem
}

.fs32 {
    font-size: 3.2rem
}

.fs36 {
    font-size: 3.6rem
}

.fs40 {
    font-size: 4rem
}

.fs48 {
    font-size: 4.8rem
}

.fs50 {
    font-size: 5rem
}

.fs50per {
    font-size: 50%
}

.fs60per {
    font-size: 60%
}

.fs70per {
    font-size: 70%
}

.fs75per {
    font-size: 75%
}

.fs80per {
    font-size: 80%
}

.fs85per {
    font-size: 85%
}

.fs90per {
    font-size: 90%
}

.lh10 {
    line-height: 1
}

.lh12 {
    line-height: 1.2
}

.lh14 {
    line-height: 1.4
}

.lh15 {
    line-height: 1.5
}

.lh16 {
    line-height: 1.6
}

.lh17 {
    line-height: 1.7
}

.lh175 {
    line-height: 1.75
}

.lh18 {
    line-height: 1.8
}

.lh20 {
    line-height: 2
}

.lh24 {
    line-height: 2.4
}

.ls01 {
    letter-spacing: .01em
}

.ls02 {
    letter-spacing: .02em
}

.ls03 {
    letter-spacing: .03em
}

.ls04 {
    letter-spacing: .04em
}

.ls05 {
    letter-spacing: .05em
}

.ls08 {
    letter-spacing: .08em
}

.ls10 {
    letter-spacing: .1em
}

.ls12 {
    letter-spacing: .12em
}

.ls15 {
    letter-spacing: .15em
}

.ls20 {
    letter-spacing: .2em
}

.ls30 {
    letter-spacing: .3em
}

.ls-05 {
    letter-spacing: -0.05em
}

.ls-10 {
    letter-spacing: -0.1em
}

.ls-20 {
    letter-spacing: -0.2em
}

.wordWrapBreak {
    word-wrap: break-word
}

.wordBreakAll {
    word-break: break-all
}

img,
video {
    max-width: 100%;
    height: auto;
    vertical-align: bottom
}

img.w100per,
video.w100per {
    width: 100%
}

a:not([class]) {
    color: inherit
}

a,
a:link,
a:visited,
a:hover,
a:active {
    outline: none;
    text-decoration: none
}

a.textLink {
    color: #070e61;
    text-decoration: underline
}

a.disabled {
    cursor: default;
    opacity: .4;
    pointer-events: none
}

.no-touch .alpha {
    transition: opacity 300ms ease-in-out
}

.no-touch .alpha:hover {
    opacity: .4
}

.no-touch .scrollfadeShow.is-show.alpha:hover {
    opacity: .4
}

.no-touch .textLink {
    transition: opacity 300ms ease-in-out
}

.no-touch .textLink:hover {
    opacity: .4
}

ul li,
ol li {
    list-style-type: none
}

ul.disc,
ol.disc {
    list-style-type: none
}

ul.disc li,
ol.disc li {
    position: relative;
    padding-left: 2em
}

ul.disc li::before,
ol.disc li::before {
    display: inline-block;
    position: absolute;
    top: .5em;
    left: 0;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    background-color: #000;
    content: ""
}

ul.inlineList li,
ol.inlineList li {
    display: inline
}

ul.inlineList li:not(:last-child)::after,
ol.inlineList li:not(:last-child)::after {
    display: inline-block;
    content: ","
}

ul.asteriskList li,
ol.asteriskList li {
    position: relative;
    padding-left: 1em
}

ul.asteriskList li::before,
ol.asteriskList li::before {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    content: "*"
}

ol.numberList {
    counter-reset: numberList
}

ol.numberList li {
    position: relative;
    padding-left: 1.5em
}

ol.numberList li:not(:last-child) {
    margin-bottom: 5px
}

ol.numberList li::before {
    position: absolute;
    top: -1px;
    left: 0;
    margin-right: 2px;
    content: counter(numberList) ".";
    color: #000;
    font-size: 1.6rem;
    counter-increment: numberList
}

ol.numberList li ol.childList {
    counter-reset: numberList
}

ol.numberList li ol.childList li {
    padding-left: 2em;
    text-indent: -2em
}

ol.numberList li ol.childList li::before {
    display: none
}

ol.circleNumberList {
    counter-reset: circleNumberList
}

ol.circleNumberList li {
    position: relative;
    padding-left: 1.5em
}

ol.circleNumberList li:not(:last-child) {
    margin-bottom: 12px
}

ol.circleNumberList li::before {
    display: flex;
    position: absolute;
    top: 1px;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #0061b7;
    content: counter(circleNumberList);
    color: #fff;
    font-size: 1.2rem;
    text-indent: -1px;
    counter-increment: circleNumberList
}

th {
    font-weight: bold
}

hr.dot {
    border-top: 1px #000 dotted
}

.displayInlineBlock {
    display: inline-block
}

.displayInline {
    display: inline
}

.displayBlock {
    display: block
}

.displayNone {
    display: none
}

.displaySp {
    display: none
}

.displayXwide {
    display: none
}

.posRelative {
    position: relative
}

.posAbsolute {
    position: absolute
}

.posFixed {
    position: fixed
}

.posStatic {
    position: static
}

.floatLeft {
    float: left
}

.floatRight {
    float: right
}

.clearLeft {
    clear: left
}

.clearRight {
    clear: right
}

.clearBoth {
    clear: both
}

.txtLeft {
    text-align: left
}

.txtCenter {
    text-align: center
}

.txtRight {
    text-align: right
}

.txtJustify,
.txtJustify * {
    text-align: justify
}

.verticalTop {
    vertical-align: top
}

.verticalMiddle {
    vertical-align: middle
}

.verticalBottom {
    vertical-align: bottom
}

input:focus,
textarea:focus,
select:focus {
    border: none;
    outline: none;
    box-shadow: none
}

button {
    padding: 0;
    border: 0px;
    outline: none;
    background-color: rgba(0, 0, 0, 0);
    font-family: inherit
}

.clearfix:after,
.cf:after {
    display: block;
    clear: both;
    content: ""
}

.l-container {
    position: relative;
    width: 100%;
    min-height: 100%
}

.l-main {
    z-index: 2;
    position: relative
}

.l-contents {
    padding-bottom: 240px
}

.l-contents.hasPadTop {
    padding-top: 200px
}

.l-contents.noPadBottom {
    padding-bottom: 0
}

.l-contents.sharrowContents {
    min-height: 100vh
}

.header {
    z-index: 150;
    position: relative;
    background: none
}

.headerInfo {
    display: none;
    z-index: 50;
    position: fixed;
    top: 45px;
    left: 45px
}

.headerInfoBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 262px;
    height: 66px;
    padding-left: 17px;
    border-radius: 41px;
    background-color: rgba(104, 104, 104, .65);
    color: #fff;
    letter-spacing: .037em
}

.headerInfoBtnIcon {
    display: grid;
    z-index: 2;
    position: relative;
    flex-shrink: 0;
    place-content: center;
    width: 31px;
    height: 31px;
    transform: translateY(-1px);
    border-radius: 50%;
    background-color: #505050
}

.headerInfoBtnIconText {
    display: inline-block;
    transform: translateY(2px);
    color: #919191;
    font-weight: 700;
    font-size: 2rem
}

.headerInfoBtnText {
    display: flex;
    column-gap: 1rem;
    overflow: hidden;
    font-weight: 500;
    font-size: 1.5rem;
    white-space: nowrap
}

.headerInfoBtnTextInner {
    display: inline-block
}

.headerCopy {
    display: none;
    pointer-events: none
}

.headerCopyLine {
    display: block;
    margin-bottom: -0.2em;
    color: #3c3c3c;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.5em;
    letter-spacing: -0.06em
}

.headerContact {
    z-index: 75;
    position: fixed;
    top: 45px;
    right: 140px;
    overflow: hidden;
    border-radius: 35px
}

.headerContact.js-homeHeaderAnim {
    transition: width 250ms cubic-bezier(0.66, 0.17, 0.89, 0.63), right 250ms cubic-bezier(0.66, 0.17, 0.89, 0.63), -webkit-clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63), width 250ms cubic-bezier(0.66, 0.17, 0.89, 0.63), right 250ms cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63), width 250ms cubic-bezier(0.66, 0.17, 0.89, 0.63), right 250ms cubic-bezier(0.66, 0.17, 0.89, 0.63), -webkit-clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63)
}

.is-transitioning .headerContact.js-homeHeaderAnim {
    transition: width 150ms ease-in-out, right 150ms ease-in-out, -webkit-clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63), width 150ms ease-in-out, right 150ms ease-in-out;
    transition: clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63), width 150ms ease-in-out, right 150ms ease-in-out, -webkit-clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63)
}

.headerLogo {
    position: fixed
}

.headerLogo>a {
    display: flex;
    column-gap: 5.9895833333%;
    align-items: center
}

.headerLogoFigure {
    display: block;
    z-index: 2;
    position: relative;
    width: 38.0989583333vw
}

.headerLogoText {
    display: block;
    width: 46.484375vw
}

.footer {
    z-index: 2;
    position: relative;
    padding-top: 9.375vw;
    background-color: #2b2b2b;
    color: #fff
}

.is-transitioning .footer {
    z-index: 1
}

.footerContents {
    padding-bottom: 14.5833333333vw;
    border-bottom: 1px solid rgba(255, 255, 255, .2)
}

.footerContentsTitle {
    margin-bottom: .85em;
    color: rgba(255, 255, 255, .3);
    font-weight: 200;
    font-size: 8rem;
    font-size: clamp(5rem, 7.4074074074vw, 8rem);
    letter-spacing: -0.025em
}

.footerContentsTerm {
    flex-shrink: 0;
    font-size: max(1.7rem, 1.0416666667vw);
    line-height: 1.7;
    letter-spacing: .1em
}

.footerContentsData {
    font-size: 1.3rem;
    line-height: 2.3076923077;
    letter-spacing: .1em
}

.footerContactTel {
    display: flex;
    column-gap: 22px;
    align-items: center
}

.footerContactTelNum {
    font-size: 4.9rem
}

.footerContactMail {
    display: inline-block;
    position: relative;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-weight: 200;
    font-size: max(3.125vw, 4rem)
}

.footerContactFooter {
    display: flex;
    column-gap: 32px;
    row-gap: 20px;
    flex-wrap: wrap;
    align-items: center
}

.footerAboutLink {
    display: flex;
    gap: 1.4583333333vw
}

.footerAgent {
    border-bottom: 1px solid rgba(255, 255, 255, .2)
}

.footerAgentTitle {
    display: grid;
    place-content: center;
    color: rgba(255, 255, 255, .3);
    font-weight: 200;
    font-size: clamp(5rem, 7.4074074074vw, 8rem)
}

.footerAgentTerm {
    margin-bottom: 1.8em;
    font-size: max(1.0416666667vw, 1.7rem);
    letter-spacing: .1em
}

.footerAgentDataText {
    font-size: 1.3rem;
    line-height: 2.3076923077
}

.footerNav {
    display: flex;
    column-gap: clamp(40px, 3.6458333333vw, 100px);
    width: -moz-fit-content;
    width: fit-content
}

.footerNavHome {
    flex-shrink: 0
}

.footerNavList {
    display: grid;
    grid-template-columns: repeat(3, auto);
    column-gap: max(40px, 3.6458333333vw);
    row-gap: 14px
}

.footerNavLink {
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: .06em
}

.footerNavLink.is-active {
    color: #a5915a
}

.footerNavLink.fsSmall {
    font-size: 1.2rem
}

.footerNavBtnWrap {
    width: 150px
}

.footerNavBtn {
    display: inline-block;
    position: relative;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 20px;
    color: #fff;
    font-size: max(.78125vw, 1.4rem);
    text-align: center
}

.footerNavBtn .btnNromalContent,
.footerNavBtn .btnHoverContent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 39px;
    transition: all 500ms cubic-bezier(0, 0.75, 0.3, 0.95)
}

.footerNavBtn .btnHoverContent {
    background-color: #a5915a;
    color: #fff
}

.footerNavNarrowLink {
    display: none
}

.footerDaibiru {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 18.0729166667vw
}

.footerDaibiruLogo {
    display: block;
    margin-bottom: 22px
}

.footerDaibiruLogo img {
    width: 100%;
    max-width: 219px
}

.footerCopyright {
    color: rgba(255, 255, 255, .3);
    font-size: 1.1rem;
    letter-spacing: .084em;
    text-align: right;
    word-break: break-all
}

.footerPageNotice {
    display: none;
    padding-block: 30px;
    border-top: 1px solid rgba(255, 255, 255, .2);
    color: rgba(255, 255, 255, .5);
    font-size: 1rem;
    line-height: 1.5555555556
}

.bgWhite {
    background-color: #fff
}

.bgWhiteAlpha {
    background-color: rgba(255, 255, 255, .5)
}

.bgBase {
    background-color: #d9d9d6
}

.bgMain {
    background-color: #505050
}

.bgSub {
    background-color: #a5915a
}

.bgDeepGold {
    background-color: #a0823c
}

.bgTextLight {
    background-color: #3c3c3c
}

.bgGray {
    background-color: #888
}

.bgGrayLight {
    background-color: #eceaea
}

.bgGrayDark {
    background-color: #2b2b2b
}

.loading {
    pointer-events: none
}

.is-loading .loading {
    pointer-events: auto
}

.loadingInner {
    display: grid;
    position: relative;
    place-content: center;
    width: 110px;
    height: 110px
}

.loadingProgress {
    color: #888;
    font-weight: 500;
    font-size: 2rem;
    text-align: center
}

.loadingFigure {
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%
}

.loadingFigure.bgMain {
    top: 0;
    left: 0
}

.loadingFigure.bgSub {
    bottom: 0;
    left: 0
}

.loadingFigure.bgGray {
    top: 0;
    right: 0
}

.loadingFigure.bgDeepGold {
    right: 0;
    bottom: 0
}

.loadingCircle {
    animation-duration: .8s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-name: loadingCircle
}

@keyframes loadingCircle {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

.lowerPageMv {
    position: relative;
    overflow-x: clip
}

.lowerPageMvImg {
    --img-inner-margin-x: 0px;
    --img-inner-margin-y: 0px;
    display: grid;
    position: relative;
    place-items: center;
    aspect-ratio: auto;
    width: 100%;
    height: 100vh;
    height: calc(100vh - (100vh - 100svh));
    overflow: hidden
}

.lowerPageMvImgWrap {
    position: relative
}

.lowerPageMvImgInner {
    grid-area: 1/-1;
    width: calc(100% + var(--img-inner-margin-x)*2);
    height: calc(100% + var(--img-inner-margin-y)*2);
    background-position: 50% 50%;
    background-size: cover
}

.lowerPageMvImgInner.is-hidden {
    opacity: 0
}

.lowerPageMvImg .caption.onImg {
    z-index: 3
}

.lowerPageMvTitle {
    z-index: 3;
    position: absolute;
    color: #fff;
    transition: -webkit-clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63), -webkit-clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63)
}

.lowerPageMvTitleEn {
    display: inline-block;
    font-size: clamp(6rem, 10.4166666667vw, 20rem);
    letter-spacing: normal
}

.lowerPageMvTitleJa {
    font-weight: 700;
    font-size: clamp(1.5rem, 1.3020833333vw, 2.5rem);
    letter-spacing: .1em
}

.lowerPageMvShadow {
    z-index: 2;
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, .4)
}

.lowerPageMvMb {
    height: 75vh
}

.lowerPageContents {
    z-index: 5;
    position: relative
}

.nav {
    z-index: 60;
    position: fixed;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    pointer-events: none;
    transition: -webkit-clip-path 100ms cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path 100ms cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path 100ms cubic-bezier(0.66, 0.17, 0.89, 0.63), -webkit-clip-path 100ms cubic-bezier(0.66, 0.17, 0.89, 0.63)
}

.navContents {
    width: 100%
}

.navList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px min(8.2291666667vw, 40px)
}

.navText {
    display: block;
    transform: translateY(0.25em) scale(0.95);
    transform-origin: 0 100%;
    color: #fff;
    line-height: 1.1;
    opacity: 0;
    transition: transform .75s cubic-bezier(0.23, 1, 0.32, 1), opacity .4s cubic-bezier(0.23, 1, 0.32, 1), color .5s;
    transition-delay: 0s;
    will-change: transform
}

.navTextEn {
    display: block;
    font-weight: 500;
    font-size: 5rem
}

.navTextJa {
    font-size: 1.3rem;
    letter-spacing: .3em
}

.navTextItem {
    display: flex;
    flex-direction: column;
    overflow: hidden
}

.navTextItem>span {
    display: flex;
    position: relative;
    flex-direction: column;
    width: -moz-fit-content;
    width: fit-content;
    transition: transform .75s cubic-bezier(0.23, 1, 0.32, 1)
}

.navTextItem>span::before {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-120%);
    content: attr(data-text);
    transition: transform .75s cubic-bezier(0.23, 1, 0.32, 1)
}

.navBg {
    z-index: -1;
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden;
    transform-origin: 100% 0;
    opacity: .95;
    pointer-events: none;
    transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1)
}

.navBg::after {
    position: absolute;
    inset: 0;
    background-color: #333;
    content: "";
    pointer-events: none
}

.navTrigger,
.navLoading {
    position: fixed;
    top: 45px;
    right: 45px;
    width: 85px;
    height: 66px;
    overflow: hidden;
    border-radius: 41px;
    background-color: #505050;
    font-size: 0;
    text-align: center
}

.navLoading {
    display: flex;
    z-index: 110;
    column-gap: 5px;
    align-items: center;
    justify-content: center;
    cursor: default;
    opacity: 0;
    pointer-events: none
}

.navLoadingDot {
    display: inline-block;
    border-radius: 50%;
    background-color: #fff;
    animation: navLoadingAnime 1.8s linear 0s infinite normal both
}

@keyframes navLoadingAnime {
    0% {
        transform: scale(0)
    }

    25% {
        transform: scale(1)
    }

    50% {
        transform: scale(1)
    }

    75% {
        transform: scale(1)
    }

    100% {
        transform: scale(0)
    }
}

.navLoadingDot:nth-of-type(2) {
    animation-delay: .3s
}

.navLoadingDot:nth-of-type(3) {
    animation-delay: .6s
}

.navLoadingDot:nth-of-type(4) {
    animation-delay: .9s
}

.navTrigger {
    display: grid;
    z-index: 100;
    place-content: center;
    cursor: pointer
}

.navTriggerBarWrap {
    display: inline-block;
    position: relative;
    width: 3.1rem;
    height: 1px
}

.navTriggerBar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-origin: center;
    transition: all .5s cubic-bezier(0.86, 0, 0.07, 1)
}

.navTriggerBarAnim {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff
}

.navTriggerBarAnim:nth-child(2) {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
}

.is-navOpen .nav {
    pointer-events: auto
}

.is-navOpen .navText {
    transform: none;
    opacity: 1;
    transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.3s cubic-bezier(0.23, 1, 0.32, 1), color .5s;
    transition-delay: calc(var(--stagger)*.065s + .1s)
}

.is-navOpen .navText:nth-child(1) {
    --stagger: 1
}

.is-navOpen .navText:nth-child(2) {
    --stagger: 2
}

.is-navOpen .navText:nth-child(3) {
    --stagger: 3
}

.is-navOpen .navText:nth-child(4) {
    --stagger: 4
}

.is-navOpen .navText:nth-child(5) {
    --stagger: 5
}

.is-navOpen .navText:nth-child(6) {
    --stagger: 6
}

.is-navOpen .navText:nth-child(7) {
    --stagger: 7
}

.is-navOpen .navText:nth-child(8) {
    --stagger: 8
}

.is-navOpen .navBg {
    pointer-events: auto
}

.is-navOpen .navBg::before {
    transition-delay: 0s
}

.is-navOpen .navBg::after {
    transition-delay: .05s
}

.is-navOpen .navTriggerBar {
    top: 0 !important
}

.is-navOpen .navTriggerBar:nth-of-type(1) {
    transform: rotate(25deg)
}

.is-navOpen .navTriggerBar:nth-of-type(2) {
    transform: rotate(-25deg)
}

.is-navOpen .navTriggerBar:nth-of-type(3) {
    -webkit-clip-path: inset(100%) !important;
    clip-path: inset(100%) !important
}

.is-transitioning .headerContact {
    right: 46px;
    width: 80px
}

.is-transitioning .navLoading {
    opacity: 1;
    pointer-events: auto
}

.is-transitioning .navBg {
    top: 24px;
    right: 18px;
    bottom: calc(100% - 132px);
    left: calc(100% - 150px)
}

.pageNav {
    z-index: 50;
    position: fixed;
    bottom: 37px;
    left: 50%;
    width: -moz-fit-content;
    width: fit-content;
    height: 58px;
    margin-inline: auto;
    padding: 9px;
    transform: translateX(-50%);
    border: 1px solid #888;
    border-radius: 29px;
    background-color: #eceaea;
    font-size: 1.3rem;
    opacity: 0
}

.pageNavList {
    display: flex;
    z-index: 2;
    position: relative
}

.pageNavLink {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 1em;
    color: #000
}

.is-active .pageNavLink {
    color: #fff
}

.pageNavActiveFollower {
    position: absolute;
    top: 9px;
    height: 38px;
    transform: translateX(0.5em);
    border-radius: 19px;
    background-color: #3c3c3c
}

.cvModal {
    z-index: 70;
    position: fixed;
    color: #fff;
    pointer-events: none
}

.cvModalContent {
    max-width: 280px;
    transform: translateY(0.25em) scale(0.95);
    transform-origin: 0 100%;
    opacity: 0;
    transition: transform .75s cubic-bezier(0.23, 1, 0.32, 1), opacity .4s cubic-bezier(0.23, 1, 0.32, 1);
    will-change: transform
}

.cvModalContent .linkBtn {
    border: 1px solid #fff;
    border-radius: 47px
}

.cvModalContent .btnNromalContent {
    background-color: #a5915a;
    color: #fff
}

.cvModalContent .btnHoverContent {
    background-color: #fff;
    color: #a5915a
}

.cvModalContent .linkBtnText {
    font-weight: bold;
    font-size: 2rem;
    text-align: center
}

.cvModalBg {
    z-index: -1;
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden;
    transform-origin: 100% 0;
    opacity: .95;
    pointer-events: none;
    transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1)
}

.cvModalBg::after {
    position: absolute;
    inset: 0;
    background-color: #a0823c;
    content: "";
    pointer-events: none
}

.is-cvModalOpen .cvModal {
    pointer-events: auto
}

.is-cvModalOpen .cvModalContent {
    transform: none;
    opacity: 1;
    transition-delay: .2s
}

.is-cvModalOpen .cvModalBg {
    pointer-events: auto
}

.is-cvModalOpen .navTriggerBar {
    top: 0 !important
}

.is-cvModalOpen .navTriggerBar:nth-of-type(1) {
    transform: rotate(25deg)
}

.is-cvModalOpen .navTriggerBar:nth-of-type(2) {
    transform: rotate(-25deg)
}

.is-cvModalOpen .navTriggerBar:nth-of-type(3) {
    -webkit-clip-path: inset(100%) !important;
    clip-path: inset(100%) !important
}

.sectionTitleEn {
    font-weight: 500;
    font-size: max(6.7708333333vw, 5rem);
    line-height: .8692307692;
    font-family: "Chillax", sans-serif;
    letter-spacing: -0.03em
}

.sectionTitleJa {
    font-weight: 700;
    font-size: max(1.5625vw, 2rem)
}

.pageTtlContents {
    z-index: 3;
    position: absolute
}

.textHasLp {
    padding-left: 1em;
    text-indent: -1em
}

.wysiwyg {
    font-size: max(1.3020833333vw, 1.8rem);
    line-height: 1.8
}

.wysiwyg a:not([class]),
.wysiwyg a:not([class]):link,
.wysiwyg a:not([class]):visited,
.wysiwyg a:not([class]):hover,
.wysiwyg a:not([class]):active {
    text-decoration: underline;
    cursor: pointer
}

.caption {
    color: rgba(255, 255, 255, .6);
    font-size: 1rem
}

.caption.colorDark {
    color: rgba(0, 0, 0, .3)
}

.caption.onImg {
    z-index: 2;
    position: absolute
}

.caption.onImg.posTopRight {
    top: 5px;
    right: 5px
}

.caption.onImg.posBottomRight {
    right: 5px;
    bottom: 5px
}

.caption.onImg.posBottomRightRoundSmall {
    right: 17px;
    bottom: 5px
}

.caption.onImg.posBottomRightRoundLarge {
    right: 44px;
    bottom: 5px
}

.linkBtn,
button.linkBtn,
a.linkBtn {
    display: inline-block;
    position: relative;
    width: 251px;
    min-height: 59px;
    border-radius: 35px;
    font-size: 1.4rem;
    letter-spacing: .1em
}

.linkBtn.longTextJa,
button.linkBtn.longTextJa,
a.linkBtn.longTextJa {
    display: inline-block
}

.linkBtn.longTextJa .btnNromalContent,
.linkBtn.longTextJa .btnHoverContent,
button.linkBtn.longTextJa .btnNromalContent,
button.linkBtn.longTextJa .btnHoverContent,
a.linkBtn.longTextJa .btnNromalContent,
a.linkBtn.longTextJa .btnHoverContent {
    display: flex;
    justify-content: center;
    min-height: 83px;
    padding-inline: 25px
}

.linkBtnText,
button.linkBtnText,
a.linkBtnText {
    display: inline-block
}

.linkBtnDot,
button.linkBtnDot,
a.linkBtnDot {
    position: absolute;
    right: 25px;
    width: 8px;
    height: 8px;
    border-radius: 50%
}

.linkBtn.hasArrow .linkBtnArrow,
button.linkBtn.hasArrow .linkBtnArrow,
a.linkBtn.hasArrow .linkBtnArrow {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 25px;
    width: 17px;
    transform: translateY(-58%)
}

.linkBtn.hasIconExternal .linkBtnIconExternal,
button.linkBtn.hasIconExternal .linkBtnIconExternal,
a.linkBtn.hasIconExternal .linkBtnIconExternal {
    display: inline-block;
    position: absolute;
    top: calc(50% - 13px);
    right: 25px;
    width: 19px
}

.linkBtn.bgSub .btnHoverContent,
button.linkBtn.bgSub .btnHoverContent,
a.linkBtn.bgSub .btnHoverContent {
    background-color: #3c3c3c;
    color: #fff
}

.linkBtn.bgSub .btnHoverContent .linkBtnDot,
button.linkBtn.bgSub .btnHoverContent .linkBtnDot,
a.linkBtn.bgSub .btnHoverContent .linkBtnDot {
    background-color: #fff
}

.linkBtn.ghostSub,
button.linkBtn.ghostSub,
a.linkBtn.ghostSub {
    color: #a5915a
}

.linkBtn.ghostSub .linkBtnDot,
button.linkBtn.ghostSub .linkBtnDot,
a.linkBtn.ghostSub .linkBtnDot {
    background-color: #a5915a
}

.linkBtn.ghostSub .btnNromalContent,
.linkBtn.ghostSub .btnHoverContent,
button.linkBtn.ghostSub .btnNromalContent,
button.linkBtn.ghostSub .btnHoverContent,
a.linkBtn.ghostSub .btnNromalContent,
a.linkBtn.ghostSub .btnHoverContent {
    border: 1px solid #a5915a
}

.linkBtn.ghostSub .btnHoverContent,
button.linkBtn.ghostSub .btnHoverContent,
a.linkBtn.ghostSub .btnHoverContent {
    background-color: #a5915a;
    color: #fff
}

.linkBtn.ghostSub .btnHoverContent .linkBtnDot,
button.linkBtn.ghostSub .btnHoverContent .linkBtnDot,
a.linkBtn.ghostSub .btnHoverContent .linkBtnDot {
    background-color: #fff
}

.linkBtn.ghostSub .btnHoverContent.colorText,
button.linkBtn.ghostSub .btnHoverContent.colorText,
a.linkBtn.ghostSub .btnHoverContent.colorText {
    color: #3c3c3c
}

.linkBtn.ghostSub .btnHoverContent.colorText .linkBtnDot,
button.linkBtn.ghostSub .btnHoverContent.colorText .linkBtnDot,
a.linkBtn.ghostSub .btnHoverContent.colorText .linkBtnDot {
    background-color: #3c3c3c
}

.linkBtn.ghostWhite,
button.linkBtn.ghostWhite,
a.linkBtn.ghostWhite {
    color: #fff
}

.linkBtn.ghostWhite .linkBtnDot,
button.linkBtn.ghostWhite .linkBtnDot,
a.linkBtn.ghostWhite .linkBtnDot {
    background-color: #996464
}

.linkBtn.ghostWhite .btnNromalContent,
button.linkBtn.ghostWhite .btnNromalContent,
a.linkBtn.ghostWhite .btnNromalContent {
    border: 1px solid #fff
}

.linkBtn.ghostWhite .btnHoverContent,
button.linkBtn.ghostWhite .btnHoverContent,
a.linkBtn.ghostWhite .btnHoverContent {
    border: 1px solid #3c3c3c;
    background-color: #3c3c3c;
    color: #a5915a
}

.linkBtn.ghostWhite .btnHoverContent .linkBtnDot,
button.linkBtn.ghostWhite .btnHoverContent .linkBtnDot,
a.linkBtn.ghostWhite .btnHoverContent .linkBtnDot {
    background-color: #a5915a
}

.linkBtn.ffEn,
button.linkBtn.ffEn,
a.linkBtn.ffEn {
    font-weight: 500;
    font-size: max(1.0416666667vw, 1.6rem)
}

.linkBtn .btnNromalContent,
.linkBtn .btnHoverContent,
button.linkBtn .btnNromalContent,
button.linkBtn .btnHoverContent,
a.linkBtn .btnNromalContent,
a.linkBtn .btnHoverContent {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-width: 251px;
    min-height: 59px;
    padding-left: 29px;
    border-radius: 35px;
    transition: all 500ms cubic-bezier(0, 0.75, 0.3, 0.95)
}

.linkBtn .btnNromalContent.justifyCenter,
.linkBtn .btnHoverContent.justifyCenter,
button.linkBtn .btnNromalContent.justifyCenter,
button.linkBtn .btnHoverContent.justifyCenter,
a.linkBtn .btnNromalContent.justifyCenter,
a.linkBtn .btnHoverContent.justifyCenter {
    justify-content: center;
    padding: 0
}

.contactBtn {
    display: block;
    width: 257px;
    height: 66px;
    border-radius: 41px;
    color: #fff;
    line-height: 1;
    letter-spacing: .1em
}

.contactBtn .btnNromalContent,
.contactBtn .btnHoverContent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 500ms cubic-bezier(0, 0.75, 0.3, 0.95)
}

.contactBtn .btnNromalContent {
    background-color: #a5915a
}

.contactBtn .btnHoverContent {
    background-color: #505050;
    color: #fff
}

.contactBtnJa {
    line-height: 1.2
}

.contactBtnJaNakaguro {
    display: inline-block;
    margin-inline: -0.15em
}

.btnHasHoverAnim {
    position: relative;
    overflow: hidden
}

.btnHasHoverAnim .btnHoverContent {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%)
}

.transitionCover {
    z-index: 50;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 100vh;
    background-color: #262626
}

.transitionCoverInner {
    position: relative;
    height: 100svh
}

.transitionCover .lowerPageMvTitle {
    color: #888
}

.js-accordionTrigger {
    cursor: pointer
}

.swiper .swiper-pagination-bullet-active {
    background-color: #a5915a
}

.swiper .swiper-button-next,
.swiper .swiper-button-prev {
    --swiper-navigation-size: 12px;
    display: grid;
    place-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #a5915a;
    border-radius: 50%;
    color: #a5915a
}

.splitting .word,
.splitting .char {
    display: inline-block;
    font-weight: inherit;
    font-size: inherit;
    line-height: 1;
    font-family: inherit;
    vertical-align: text-top
}

.js-commonTextAnimation .word {
    overflow: hidden
}

.screen-reader-text,
.visuallyHidden {
    clip: rect(0 0 0 0);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    opacity: 0;
    pointer-events: none
}

.iframeWrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%
}

.iframeWrapper iframe,
.iframeWrapper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important
}

[data-barba-namespace=home]+.footer .footerPageNotice.js-homeActive {
    display: block
}

[data-barba-namespace=home]+.footer .footerNavLink.js-homeActive {
    color: #a5915a
}

.l-container:not(.is-home) .homeLogoWrap {
    clip: rect(0 0 0 0);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    opacity: 0;
    pointer-events: none
}

.is-home .homeLogoWrap {
    display: flex;
    position: relative;
    align-items: flex-end;
    background-color: #fff
}

.is-home .headerInfo,
.is-home .headerCopy {
    display: block
}

.is-home .lowerPageHeaderLogo {
    display: none
}

.is-home .homeLogoScroll:not(.is-scrolled) .homeLogo {
    pointer-events: none
}

.homeLogo {
    position: relative;
    width: 100%;
    margin-inline: auto
}

.homeLogoLink {
    display: flex;
    column-gap: 5.9895833333%;
    align-items: center;
    justify-content: space-between
}

.homeLogoScroll {
    width: 100vw;
    padding-inline: 4.1666666667vw
}

.homeLogoScroll .homeLogo {
    margin: 0 auto
}

.homeLogoScroll.is-scrolled {
    position: fixed;
    top: 70px;
    left: 50%;
    transform: translateX(-50%)
}

.homeLogoFigure {
    display: block;
    z-index: 2;
    position: relative;
    width: 38.0989583333vw
}

.homeLogoText {
    display: block;
    position: relative;
    width: 46.484375vw;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    transition: all .3s ease-in-out
}

.homeLogoOverray {
    display: inline-block;
    z-index: 3;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 1px;
    left: 0;
    background-color: #fff
}

.homeLogoMask {
    display: inline-block;
    z-index: 3;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #fff
}

.homeLogoMask.is-showed {
    visibility: hidden
}

.js-homeHeaderAnim {
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
    transition: -webkit-clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63), -webkit-clip-path .3s cubic-bezier(0.66, 0.17, 0.89, 0.63)
}

.homeIntro {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%)
}

.homeIntro.is-clipped {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    transition: -webkit-clip-path .8s cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path .8s cubic-bezier(0.66, 0.17, 0.89, 0.63);
    transition: clip-path .8s cubic-bezier(0.66, 0.17, 0.89, 0.63), -webkit-clip-path .8s cubic-bezier(0.66, 0.17, 0.89, 0.63)
}

.homeIntroOutLine {
    height: 100vh;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    transition: -webkit-clip-path ease 1.25s;
    transition: clip-path ease 1.25s;
    transition: clip-path ease 1.25s, -webkit-clip-path ease 1.25s
}

.homeIntroInner {
    position: absolute;
    bottom: 0;
    bottom: -4.3vw;
    left: 0;
    left: -3vw;
    height: 200vh;
    background-color: #eee;
    white-space: nowrap
}

.homeIntroRow {
    display: inline-block;
    width: 9.8958333333vw;
    height: 100%;
    margin-right: 3.6458333333vw;
    transform: rotate(-25deg);
    transform-origin: center bottom;
    background-position: center bottom -9.8958333333vw;
    background-size: 9.8958333333vw;
    background-repeat: repeat-y;
    animation-duration: 4.7s;
    animation-timing-function: linear;
    animation-name: bgAnim;
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    pointer-events: none;
    transition: -webkit-clip-path .3s cubic-bezier(0.23, 1.09, 0.71, 0.98);
    transition: clip-path .3s cubic-bezier(0.23, 1.09, 0.71, 0.98);
    transition: clip-path .3s cubic-bezier(0.23, 1.09, 0.71, 0.98), -webkit-clip-path .3s cubic-bezier(0.23, 1.09, 0.71, 0.98)
}

@keyframes bgAnim {
    0% {
        background-position-y: 0
    }

    100% {
        background-position-y: 25vw
    }
}

@keyframes bgAnimLogoParts1 {
    0% {
        background-position-y: -1.4
    }

    100% {
        background-position-y: 23.6vw
    }
}

@keyframes bgAnimLogoParts2 {
    0% {
        background-position-y: 3vw
    }

    100% {
        background-position-y: 28vw
    }
}

@keyframes bgAnimLogoParts3 {
    0% {
        background-position-y: -14.2vw
    }

    100% {
        background-position-y: 10.8vw
    }
}

.homeIntroRow:nth-child(odd) {
    background-image: url(../img/style3a11/17.png)
}

.homeIntroRow:nth-child(even) {
    background-image: url(../img/style3a11/16.png);
    animation-direction: reverse
}

.homeIntroRow:nth-child(1) {
    animation-name: bgAnim
}

.homeIntroRow:nth-child(2) {
    background-position-y: -1.4vw;
    animation-name: bgAnimLogoParts1
}

.homeIntroRow:nth-child(3) {
    background-position-y: -8vw;
    animation-name: bgAnimLogoParts2
}

.homeIntroRow:nth-child(4) {
    background-position-y: 10.8vw;
    animation-name: bgAnimLogoParts3
}

.homeIntroRow:nth-child(5) {
    background-position-y: -88.0208333333vw
}

.homeIntroRow:nth-child(6) {
    background-position-y: -107.8125vw
}

.homeIntroRow:nth-child(7) {
    background-position-y: -127.6041666667vw
}

.homeIntroRow:nth-child(8) {
    background-position-y: -147.3958333333vw
}

.homeIntroRow:nth-child(9) {
    background-position-y: -167.1875vw
}

.homeIntroRow:nth-child(10) {
    background-position-y: -186.9791666667vw
}

.homeIntroRow:nth-child(11) {
    background-position-y: -206.7708333333vw
}

.homeIntroRow:nth-child(12) {
    background-position-y: -226.5625vw
}

.homeMv {
    z-index: 10;
    position: relative
}

.homeMv .homeMvText {
    display: grid;
    place-content: center;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, .2)
}

.homeMv .homeMvText span {
    display: block
}

.homeMvImg {
    position: relative;
    width: 100%;
    height: 100vh
}

.homeMvImg img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.typeMv {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden
}

.typeMvImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    scale: 1.2
}

.typeMvImg.fitRightTop {
    object-position: right top
}

.typeMvShadow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000;
    opacity: 0
}

.typeLead {
    z-index: 2;
    position: absolute;
    top: 0;
    width: 100%;
    min-height: 100vh
}

.typeLeadTxt {
    z-index: 2;
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    text-align: center;
    opacity: 0
}

.typeLead .char {
    display: inline-block
}

.homeIntroduction {
    z-index: 10;
    position: relative;
    padding-top: 210px;
    background-color: #fff
}

.homeIntroductionMarquee {
    position: absolute;
    top: 41.6666666667vw;
    left: 0;
    width: 100%;
    overflow: hidden;
    font-size: max(13.0208333333vw, 9.4rem);
    line-height: 1.25
}

.homeIntroductionMarqueeInner {
    display: flex;
    column-gap: .5em;
    letter-spacing: -0.03em
}

.homeIntroductionMarqueeItem {
    display: inline-block;
    white-space: nowrap;
    animation: homeIntroductionMarquee 18s linear infinite;
    will-change: translate
}

@keyframes homeIntroductionMarquee {
    0% {
        translate: 0
    }

    100% {
        translate: calc(-100% - .5em)
    }
}

.homeIntroductionFan {
    aspect-ratio: 1/1;
    -webkit-clip-path: circle(100% at 0 100%);
    clip-path: circle(100% at 0 100%)
}

.homeIntroductionFan.reverse {
    -webkit-clip-path: circle(100% at 100% 0);
    clip-path: circle(100% at 100% 0)
}

.homeIntroductionCol {
    display: flex
}

.homeIntroduction .fanWrap {
    overflow-x: clip
}

.homeIntroductionSholderText {
    z-index: 2;
    position: absolute;
    top: 18.0208333333vw;
    left: 2.34375vw;
    font-weight: 600;
    font-size: 1.5rem;
    writing-mode: vertical-lr
}

.homeIntroductionFan01 {
    transform: rotate(-90deg);
    transform-origin: right top
}

.homeIntroductionFan02,
.homeIntroductionFan03 {
    transform: rotate(-90deg);
    transform-origin: left bottom
}

.homeFeatureIntroMain {
    z-index: 2
}

.homeFeatureIntroTitle {
    font-weight: 700
}

.homeFeatureIntroCont01Inner {
    position: relative
}

.homeFeatureIntroCont02 {
    position: relative
}

.homeFeatureIntroCont02Inner {
    z-index: 2;
    position: relative
}

.homeFeatureIntroCont02 .homeIntroductionFan {
    position: absolute
}

.homeFeatureIntroCont02Text {
    max-width: 584px;
    margin-left: auto;
    font-weight: 500;
    font-size: 1.9rem;
    line-height: 1.7368421053
}

.homeFeatureTitle {
    display: inline-block;
    z-index: 2;
    position: relative
}

.homeFeatureTitleEn {
    font-weight: 500;
    font-size: 13rem;
    font-size: 6.7708333333vw;
    line-height: .8692307692;
    font-family: "Chillax", sans-serif
}

.homeFeatureTitleEn .word:last-child {
    margin-top: -0.3em
}

.homeFeatureTitleJa {
    position: absolute;
    right: 0;
    bottom: .4em;
    margin-right: max(-100px, -5.2083333333vw);
    transform: translateY(-2.5vw);
    font-weight: 700;
    font-size: 3rem;
    font-size: 1.5625vw;
    line-height: 1
}

.homeFeatureText {
    max-width: 584px;
    font-weight: 500;
    font-size: 1.9rem;
    line-height: 1.7368421053
}

.homeFeatureLead {
    position: relative
}

.homeFeatureLeadSholderText {
    z-index: 2;
    transform: translate(4px, 46px);
    font-weight: 600;
    font-size: 1.5rem
}

.homeValue {
    position: relative
}

.homeValueSection {
    z-index: 10;
    position: relative;
    overflow: hidden
}

.homeValueSection01 {
    background-color: #3c3c3c
}

.homeValueSectionSholder {
    display: flex;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap
}

.homeValueSectionTitle {
    flex-shrink: 0;
    padding-top: 4.9479166667vw;
    font-weight: 500;
    font-size: max(6.25vw, 4rem)
}

.homeValueSectionText {
    font-size: 1.5rem;
    font-size: max(.78125vw, 1.3rem);
    line-height: 1.7333333333
}

.homeValueSectionCont {
    display: flex
}

.homeFloorGuide {
    background-color: #302f2f
}

.homeFloorGuideTitle .word {
    overflow: hidden
}

.homeFloorGuideLead {
    margin-bottom: 3.5em;
    font-size: 1.5rem;
    font-size: max(.78125vw, 1.3rem);
    line-height: 1.5333333333
}

.homeFloorGuideShadow {
    z-index: 2;
    position: absolute;
    inset: 0;
    background-color: #000;
    pointer-events: none
}

.homeFacilities {
    z-index: 15;
    position: relative
}

.homeFacilities .pin-spacer {
    pointer-events: none
}

.homeFacilitiesCircle {
    z-index: 2;
    position: absolute
}

.homeFacilitiesText {
    margin-left: auto;
    font-size: max(.9895833333vw, 1.3rem)
}

.homeFacilitiesTextItem {
    margin-bottom: 2.42em
}

.homeFacilitiesTitle {
    position: relative
}

.homeFacilitiesTitle .sectionTitleEn .word:last-child {
    transform: translateY(-0.3em)
}

.homeFacilitiesTitle .sectionTitleJa .word {
    transform: translate(1.5em, -3vw)
}

.homeFacilitiesSholderText {
    font-weight: 600;
    font-size: 1.5rem
}

.homeFeatureOverray {
    z-index: 2;
    position: relative;
    overflow: hidden
}

.homeAccess {
    z-index: 10;
    position: relative;
    overflow-x: clip;
    background-color: #fff
}

.homeAccessHeader {
    position: relative;
    margin-bottom: 120px
}

.homeAccessSholderText {
    font-weight: 600;
    font-size: 1.5rem
}

.homeAccessTitle {
    transform: translateY(-10px)
}

.homeAccessText {
    margin-left: auto
}

.homeAccessImg1 {
    background-image: url(/assets/img/style3a11/15.webp);
    background-size: 100%
}

.homeAccessImg2 {
    background-image: url(/assets/img/style3a11/14.webp);
    background-size: 100%
}

.homeAccessInfo {
    display: grid;
    place-content: center
}

.homeAccessInfoTitle {
    color: #a5915a
}

.homeAccessInfoTitleEn {
    display: block;
    font-weight: 500
}

.homeAccessInfoTitleJa {
    display: block;
    font-weight: 700
}

.homeAccessInfoAddress {
    font-weight: 700;
    font-size: 3rem;
    font-size: max(1.5625vw, 1.5rem);
    line-height: 1.3333333333
}

.homeAccessTrain {
    font-weight: 700;
    font-size: max(1.0416666667vw, 1.5rem)
}

.homeAccessTrain:not(:last-child) {
    margin-bottom: 15px
}

.homeAccessTrainName {
    font-size: max(.78125vw, 1.2rem)
}

.homeInfo {
    z-index: 10;
    position: relative
}

.homeInfoTitleEn {
    display: block;
    font-weight: 500;
    font-size: max(3.6458333333vw, 3.6rem);
    line-height: 1
}

.homeInfoTitleJa {
    display: block;
    margin-top: 1.25em;
    font-weight: 700;
    font-size: max(1.0416666667vw, 1.5rem)
}

.homeInfoArticleList .infoArticle {
    margin-bottom: 44px;
    padding-bottom: 47px
}

.homeInfoArticleList .infoArticleHeader {
    margin-bottom: 30px
}

.homeInfoArticleList .infoArticleCategory {
    width: 82px;
    height: 28px;
    border-radius: 33px;
    background-color: #a5915a;
    color: #fff;
    font-weight: bold;
    font-size: 1.3rem;
    line-height: 1.2em
}

.homeInfoArticleList .infoArticleCategory.event {
    background-color: #505050
}

.homeInfoArticleList .infoArticleDate {
    font-size: 1.5rem
}

.homeFooterIntro {
    z-index: 10;
    position: relative;
    min-height: 100vh;
    margin-bottom: -1px;
    padding-bottom: 25vh;
    overflow: hidden;
    background-color: #2b2b2b
}

.homeFooterIntro::after {
    z-index: -1;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background-color: rgba(255, 255, 255, .2);
    content: ""
}

.homeFooterIntroWords {
    display: grid;
    place-content: center;
    height: 100vh;
    margin-bottom: -1px;
    padding-inline: 2.34375%;
    background-color: #fff;
    font-size: 5.78125vw;
    line-height: 1.1;
    letter-spacing: -0.052em
}

.homeFooterIntroWords .homeFooterIntroWord {
    display: inline-block;
    color: #3c3c3c
}

.homeFooterIntroWordsDevider {
    display: inline-block;
    margin-inline: -0.1em;
    font-weight: 200;
    font-size: 85%;
    vertical-align: top
}

.homeFooterSplit {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%
}

.homeFooterSplitItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100vh;
    padding-inline: 2.34375vw;
    background-color: #fff
}

.homeFooterSplitItem.upperItem {
    -webkit-clip-path: inset(0 0 50% 0);
    clip-path: inset(0 0 50% 0)
}

.homeFooterSplitItem.lowerItem {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-clip-path: inset(50% 0 0 0);
    clip-path: inset(50% 0 0 0)
}

.homeFooterSplitItem img {
    display: inline-block
}

[data-barba-namespace=access]+.footer .footerPageNotice.js-accessActive {
    display: block
}

[data-barba-namespace=access]+.footer .footerNavLink.js-accessActive {
    color: #a5915a
}

.accessLocationIntro {
    padding-bottom: 180px;
    background-color: #fff
}

.accessLocationIntroText {
    margin-left: auto;
    font-size: max(.9895833333vw, 1.5rem);
    line-height: 1.7368421053
}

.accessLocationPlaceSection {
    contain: paint;
    position: relative;
    height: 100vh;
    padding: 0;
    background-color: #000;
    color: #fff
}

.accessLocationPlaceSectionCover {
    position: absolute;
    inset: 0
}

.accessLocationPlaceSectionCoverImg {
    position: absolute;
    inset: 0
}

.accessLocationPlaceSectionCover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom
}

.accessLocationPlaceSectionCover::after {
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100vh;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25) 100%);
    content: "";
    mix-blend-mode: multiply;
    pointer-events: none
}

.accessLocationPlaceSectionContent {
    z-index: 2;
    position: absolute;
    top: 100vh;
    right: 0;
    width: 100%
}

.accessLocationPlaceSectionSticky {
    display: flex;
    position: sticky;
    top: 0;
    align-items: center;
    width: 100%;
    height: 100vh
}

.accessLocationPlaceSectionStickyInner {
    display: flex;
    align-items: center;
    width: 100%
}

.accessLocationPlaceSection:nth-child(1) .accessLocationPlaceSectionContent {
    top: 0;
    height: 200vh
}

.accessLocationPlaceSection:nth-child(2) .accessLocationPlaceSectionContent {
    top: -100vh;
    height: 300vh
}

.accessLocationPlaceSection:nth-child(3) .accessLocationPlaceSectionContent {
    top: -100vh;
    height: 200vh
}

.accessLocationPlaceSectionMarquee {
    z-index: 1;
    position: absolute;
    top: 50%;
    overflow: hidden;
    transform: translateY(-50%);
    font-size: max(8.90625vw, 9.4rem);
    line-height: 1.25;
    letter-spacing: -0.03em
}

.accessLocationPlaceSectionMarqueeInner {
    display: flex;
    column-gap: 1em
}

.accessLocationPlaceSectionMarqueeItem {
    display: inline-block;
    white-space: nowrap;
    animation: accessLocationPlaceSectionMarquee 20s linear infinite;
    will-change: translate
}

@keyframes accessLocationPlaceSectionMarquee {
    0% {
        translate: 0
    }

    100% {
        translate: calc(-100% - 1em)
    }
}

.accessLocationPlaceTime {
    z-index: 2;
    position: relative
}

.accessLocationPlaceTimeText {
    position: absolute;
    top: 0;
    transform: translateY(-120%);
    color: #3c3c3c;
    font-size: 3.7rem;
    line-height: 1
}

.accessLocationPlaceTimeTextSmallJa {
    font-size: 3rem
}

.accessLocationPlaceTimeTextNum {
    display: inline-block;
    transform: translateY(10px);
    font-size: 8rem
}

.accessLocationPlaceTimeTextMin {
    font-size: 3.7rem
}

.accessLocationShadow {
    position: absolute;
    inset: 0;
    background-color: #000;
    opacity: 0;
    pointer-events: none
}

.accessLocationAddress {
    background-color: #3c3c3c
}

.accessLocationAddressShadow {
    z-index: 2;
    position: absolute;
    inset: 0;
    background-color: #3c3c3c;
    opacity: 0;
    pointer-events: none
}

.accessLocationAddressContent {
    display: grid;
    place-content: center;
    align-items: center
}

.accessLocationAddressContentTitle {
    color: #a5915a
}

.accessLocationAddressContentTitleEn {
    display: block;
    font-weight: 500
}

.accessLocationAddressContentTitleJa {
    display: block;
    font-weight: 700
}

.accessLocationAddressContentAddress {
    color: #fff;
    font-weight: 700;
    font-size: 3rem;
    font-size: max(1.5625vw, 1.5rem);
    line-height: 1.3333333333
}

.accessLocationAddressContentTrain {
    color: #fff;
    font-weight: 700;
    font-size: max(1.0416666667vw, 1.5rem)
}

.accessLocationAddressContentTrain:not(:last-child) {
    margin-bottom: 15px
}

.accessLocationAddressContentTrainName {
    font-size: max(.78125vw, 1.2rem)
}

.accessTraffic {
    z-index: 2;
    position: relative;
    padding-bottom: 180px
}

.accessTrafficIntro {
    padding-block: 275px 250px;
    background-color: #fff
}

.accessTrafficIntroText {
    margin-left: auto;
    font-size: max(.9895833333vw, 1.5rem);
    line-height: 1.7368421053
}

.accessTrafficFigure {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4.1666666667vw 8.3333333333vw;
    background-color: #eceaea
}

.accessTrafficTime {
    position: relative
}

.accessTrafficTimeText {
    display: flex;
    z-index: 2;
    position: absolute;
    right: 45px;
    bottom: 40px;
    column-gap: 10px;
    align-items: flex-end;
    color: #fff
}

.accessTrafficTimeTerm>span {
    display: block
}

.accessTrafficTimeTermEn {
    font-weight: 500;
    font-size: 1.5rem;
    font-size: .9rem
}

.accessTrafficTimeTermJa {
    font-weight: bold;
    font-size: 3.1rem
}

.accessTrafficTimeData {
    transform: translateY(16px);
    font-size: 5rem;
    line-height: 1
}

.accessTrafficTimeDataNum {
    font-size: 8.2rem;
    line-height: 1
}

.newsPageHead {
    margin-bottom: 7.2916666667vw;
    border-bottom: 1px solid #a5915a
}

.newsPageTitle {
    display: flex;
    column-gap: 33px;
    align-items: baseline;
    padding-top: 17.1875vw;
    padding-bottom: 6.25vw
}

.newsPageTitleEn {
    font-weight: 200;
    font-size: max(10.4166666667vw, 6rem);
    text-indent: -0.1em
}

.newsPageTitleJa {
    font-weight: 700;
    font-size: max(1.3020833333vw, 1.5rem)
}

.newsPageDetailHead {
    border-bottom: 1px solid #a5915a
}

.newsPageDetailTitle {
    font-weight: bold;
    font-size: max(3.6458333333vw, 2.3rem);
    line-height: 1.3571428571
}

.newsPageDetailInfo {
    border-top: 1px solid #a5915a
}

.newsPageDetail .infoArticleDate {
    margin-top: 10px;
    color: #888;
    font-size: max(1.5625vw, 1.4rem)
}

.monthlyArchiveTerm {
    font-size: 4rem
}

.monthlyArchiveItem {
    display: flex;
    position: relative;
    column-gap: 8px;
    font-size: 2.2rem;
    transition: color 150ms ease-in-out
}

.monthlyArchiveItem::before {
    display: grid;
    place-content: center;
    width: 16px;
    height: 16px;
    overflow: hidden;
    transform: translateY(3px) rotate(0);
    transform-origin: center;
    border-radius: 50%;
    background-image: url(../img/style3a11/13.png);
    background-position: 50% 50%;
    background-size: 5px;
    background-repeat: no-repeat;
    background-color: #505050;
    content: "";
    transition: all 150ms ease-in-out
}

.monthlyArchive .archiveListMonth li {
    padding-left: 24px
}

.monthlyArchive .archiveListMonth li:not(:last-child) {
    margin-bottom: 7px
}

.monthlyArchive .archiveListMonth li:last-child {
    padding-bottom: 15px
}

.monthlyArchive .archiveListMonth li a {
    color: #a5915a
}

.monthlyArchive .is-opened .monthlyArchiveItem {
    color: #a5915a
}

.monthlyArchive .is-opened .monthlyArchiveItem::before {
    transform: translateY(3px) rotate(90deg);
    background-color: #a5915a
}

.infoArticle {
    padding-bottom: 36px;
    border-bottom: 1px solid #d9d6d6
}

.infoArticle:not(:last-child) {
    margin-bottom: 36px
}

.infoArticleInner {
    color: #3c3c3c
}

.infoArticleImg {
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 19px
}

.infoArticleImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.infoArticleTitle {
    font-weight: 500;
    font-size: max(1.0416666667vw, 1.5rem);
    line-height: 1.7;
    transition: color .65s cubic-bezier(0.19, 1, 0.22, 1)
}

.infoArticleHeader {
    display: flex;
    column-gap: 15px;
    align-items: center;
    margin-bottom: 10px
}

.infoArticleCategory {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 37px;
    border-radius: 33px;
    background-color: #a5915a;
    color: #fff;
    font-weight: bold;
    font-size: 1.7rem;
    line-height: 1.2em
}

.infoArticleCategory.event {
    background-color: #505050
}

.infoArticleDate {
    color: #a5915a;
    font-weight: 500;
    font-size: 2rem
}

.hasIcon.infoArticle .infoArticleInner {
    align-items: center
}

.hasIcon.infoArticle .infoArticleTitle {
    font-size: max(1.5625vw, 1.5rem)
}

.hasIcon.infoArticle .infoArticleIcon {
    display: grid;
    position: relative;
    position: absolute;
    top: 50%;
    right: 0;
    flex-shrink: 0;
    place-content: center;
    width: 77px;
    height: 77px;
    overflow: hidden;
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: #888
}

.hasIcon.infoArticle .infoArticleIcon::after {
    z-index: 1;
    position: absolute;
    inset: -1px;
    background-color: #a5915a;
    content: "";
    -webkit-clip-path: circle(0 at 50% 50%);
    clip-path: circle(0 at 50% 50%);
    transition: -webkit-clip-path .65s cubic-bezier(0.19, 1, 0.22, 1);
    transition: clip-path .65s cubic-bezier(0.19, 1, 0.22, 1);
    transition: clip-path .65s cubic-bezier(0.19, 1, 0.22, 1), -webkit-clip-path .65s cubic-bezier(0.19, 1, 0.22, 1)
}

.hasIcon.infoArticle .infoArticleIcon img {
    display: inline-block;
    z-index: 2;
    position: relative
}

.hasIcon.infoArticle .infoArticleCont {
    position: relative
}

[data-barba-namespace=faq]+.footer .footerPageNotice.js-faqActive {
    display: block
}

[data-barba-namespace=faq]+.footer .footerNavLink.js-faqActive {
    color: #a5915a
}

.faqPageMv {
    margin-bottom: 280px
}

.faqSection {
    margin-bottom: 240px
}

.faqSectionTitle {
    border-bottom: 1px solid #a6925c;
    color: #a5915a
}

.faqSectionTitleJa {
    display: block;
    font-size: 4rem
}

.faqSectionTitleEn {
    display: block;
    font-weight: 500;
    font-size: 2rem
}

.faqSectionListItem {
    padding-top: 80px
}

.faqSectionListItem:not(:last-child) {
    margin-bottom: 80px
}

.faqSectionListItem:not(:first-child) {
    border-top: 1px solid rgba(0, 0, 0, .2)
}

.faqSectionContentTerm {
    display: flex;
    align-items: center;
    color: #3c3c3c;
    cursor: pointer
}

.faqSectionContentTermNum {
    font-weight: 500
}

.faqSectionContentTermInner {
    display: flex;
    align-items: center;
    width: 100%
}

.faqSectionContentTermText {
    display: inline-block;
    padding-right: 1.0416666667%;
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 1.3636363636
}

.faqSectionContentTermIcon {
    display: flex;
    position: relative;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 77px;
    height: 77px;
    margin-left: auto;
    border-radius: 50%;
    background-color: #a5915a;
    color: #fff;
    font-size: 2.5rem
}

.faqSectionContentTermIconClose {
    display: flex;
    position: absolute;
    align-items: center;
    justify-content: center;
    inset: -1px;
    background-color: #362c11;
    -webkit-clip-path: circle(0 at 50% 50%);
    clip-path: circle(0 at 50% 50%);
    transition: -webkit-clip-path .65s cubic-bezier(0.19, 1, 0.22, 1);
    transition: clip-path .65s cubic-bezier(0.19, 1, 0.22, 1);
    transition: clip-path .65s cubic-bezier(0.19, 1, 0.22, 1), -webkit-clip-path .65s cubic-bezier(0.19, 1, 0.22, 1)
}

.faqSectionContentData {
    pointer-events: none
}

.faqSectionContentDataInner {
    font-size: 1.9rem;
    line-height: 1.5789473684
}

.faqSectionContent.is-opened .faqSectionContentData {
    pointer-events: auto
}

.faqSectionContent.is-opened .faqSectionContentTermIconClose {
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%)
}

[data-barba-namespace=brand]+.footer .footerPageNotice.js-brandActive {
    display: block
}

[data-barba-namespace=brand]+.footer .footerNavLink.js-brandActive {
    color: #a5915a
}

.brandSection {
    position: relative
}

.brandSectionBody {
    padding-top: 180px;
    padding-bottom: 200px;
    background-color: #3d3d3d;
    color: #fff
}

.brandSectionBody.bgGrayDark {
    background-color: #2b2b2b
}

.brandSectionBodyContentTitle {
    display: flex;
    column-gap: 56px;
    align-items: baseline;
    margin-bottom: 6.5104166667vw
}

.brandSectionBodyContentTitleJa {
    font-weight: 700;
    font-size: 2rem
}

.brandSectionBodyContentTitleEn {
    font-weight: 500;
    font-size: 4rem;
    letter-spacing: -0.03em
}

.brandSectionTitle {
    margin-bottom: 5.8854166667vw;
    color: #a5915a
}

.brandSectionTitleJa {
    display: block;
    margin-bottom: 5px;
    font-weight: 700;
    font-size: 2rem
}

.brandSectionTitleEn {
    font-weight: 500;
    font-size: 1.4rem
}

.brandSectionInfoTerm {
    margin-bottom: 6.4583333333vw
}

.brandSectionInfoData {
    max-width: 431px;
    margin-left: auto
}

.brandSectionInfoData .fs15.lh16 {
    padding-right: 18px
}

.brandSectionInfoData .lsAdjust {
    letter-spacing: -0.014em
}

.brandSectionCover {
    z-index: 2;
    position: absolute;
    inset: 0;
    background-color: #000;
    opacity: 0;
    pointer-events: none
}

.brandDaibiruImg {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 55px 12px
}

.brandDaibiruImgCaption {
    margin-top: 10px;
    font-size: 1.3rem;
    line-height: 1.7692307692;
    text-align: center
}

[data-barba-namespace=service]+.footer .footerPageNotice.js-serviceActive {
    display: block
}

[data-barba-namespace=service]+.footer .footerNavLink.js-serviceActive {
    color: #a5915a
}

.serviceIntro {
    background-color: #fff
}

.serviceIntroTitle {
    font-size: max(3.125vw, 3rem);
    line-height: 1.4666666667
}

.serviceIntroText {
    margin-left: auto;
    font-size: max(.9895833333vw, 1.5rem);
    line-height: 1.7368421053
}

.serviceContents {
    --img-ratio: 1.5;
    --s: 1;
    position: relative;
    width: 100%;
    background-color: #2b2b2b
}

.serviceContentsItem {
    position: relative
}

.serviceContentsItemImg {
    z-index: 2;
    position: relative;
    aspect-ratio: var(--img-ratio)
}

.serviceContentsItemImgInner {
    position: relative;
    width: 100%;
    height: 100%;
    background-position: 50%;
    background-size: cover
}

.serviceContentsItemImgInner.imgSecurity {
    display: grid;
    place-content: center;
    padding: 5.2083333333vw;
    background-color: #fff
}

.serviceContentsItemTitle {
    margin-bottom: .8em;
    font-weight: bold;
    font-size: max(1.3020833333vw, 2rem);
    line-height: 1.2
}

.serviceContentsItemLead {
    font-size: max(.78125vw, 1.4rem);
    line-height: 1.5333333333
}

[data-barba-namespace=plan]+.footer .footerPageNotice.js-planActive {
    display: block
}

[data-barba-namespace=plan]+.footer .footerNavLink.js-planActive {
    color: #a5915a
}

.planIntro {
    background-color: #fff
}

.planIntroTitle {
    font-weight: bold;
    font-size: max(3.125vw, 3rem);
    line-height: 1.4666666667
}

.planIntroText {
    margin-left: auto;
    font-size: max(.9895833333vw, 1.5rem);
    line-height: 1.7368421053
}

.planDetailTitle>span {
    display: block
}

.planDetailTitleJa {
    font-weight: bold
}

.planDetailTitleEn {
    transform: translateX(-0.1em);
    letter-spacing: -0.03em
}

.planDetailLead {
    font-weight: bold;
    font-size: max(1.5625vw, 2.5rem);
    line-height: 1.5
}

.planDetailInfoPrice {
    display: flex;
    column-gap: 10px;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    background-color: rgba(165, 145, 90, .2);
    font-size: max(1.4583333333vw, 2.3rem)
}

.planDetailInfoPriceNotice {
    font-size: 1.1rem
}

.planDetailInfoFeature {
    background-color: rgba(255, 255, 255, .7)
}

.planDetailInfoFeatureInner:not(:first-child) {
    border-top: 1px solid rgba(60, 60, 60, .2)
}

.planDetailInfoFeatureTerm {
    color: #a5915a;
    font-weight: bold
}

.planDetailInfoFeatureTerm,
.planDetailInfoFeatureData {
    line-height: 1.2
}

.privatePlan {
    background-color: #eceaea
}

.privatePlanImg {
    position: relative
}

.privatePlanImgCaption {
    display: grid;
    z-index: 2;
    position: absolute;
    place-content: center;
    padding-inline: 1.3em;
    border-radius: 45px;
    background-color: #fff;
    color: #a5915a;
    font-weight: bold;
    font-size: max(1.0416666667vw, 1.5rem);
    letter-spacing: normal
}

.loungePlanDetail {
    border-top: 1px solid #a5915a
}

.loungePlanDetailTitle {
    margin-bottom: 20px;
    color: #a5915a;
    font-size: max(3.125vw, 5rem);
    text-align: center
}

.loungePlanDetailLead {
    position: relative;
    margin-bottom: 25px;
    font-size: max(1.0416666667vw, 1.8rem);
    line-height: 1.4;
    text-align: center
}

.loungePlanDetailLeadNotice {
    display: block;
    margin-top: 10px;
    font-size: 1rem
}

.planServiceIntro {
    position: relative
}

.planServiceIntroTitle {
    margin-bottom: max(4.4270833333vw, 60px)
}

.planServiceIntroTitleEn {
    font-size: max(6.7708333333vw, 5rem)
}

.planServiceIntroTitleJa {
    font-size: max(1.5625vw, 2rem)
}

.planServiceIntroText {
    margin-left: auto;
    font-size: max(.9895833333vw, 1.5rem);
    line-height: 1.7368421053
}

.planServiceDetailImg {
    margin-bottom: max(1.71875vw, 14px)
}

.planServiceDetailTerm {
    margin-bottom: 10px;
    color: #a5915a;
    font-weight: bold;
    font-size: 2.2rem;
    text-align: center
}

.planServiceDetailData {
    max-inline-size: 343px;
    margin-inline: auto;
    font-size: 1.5rem;
    line-height: 1.6;
    text-align: justify
}

.planContractIntro {
    position: relative
}

.planContractIntroTitle {
    position: relative;
    width: -moz-fit-content;
    width: fit-content
}

.planContractIntroTitleEn {
    font-size: max(6.7708333333vw, 5rem)
}

.planContractIntroTitleJa {
    font-size: max(1.5625vw, 2rem)
}

.planContractIntroText {
    color: #000;
    font-size: max(.9895833333vw, 1.5rem);
    line-height: 1.7368421053;
    text-align: justify
}

.planContractFlow {
    position: relative
}

.planContractFlowListItem {
    display: flex
}

.planContractFlowListItem:not(:last-child) .planContractFlowDetail {
    margin-bottom: max(15.625vw, 80px)
}

.planContractFlowListItem:first-child .planContractFlowCircle::before,
.planContractFlowListItem.is-active .planContractFlowCircle::before {
    background-color: #a5915a
}

.planContractFlowListItem:first-child .planContractFlowTerm,
.planContractFlowListItem.is-active .planContractFlowTerm {
    color: #a5915a
}

.planContractFlowListItem:not(:first-child) .planContractFlowNum {
    transform: translateY(-20%)
}

.planContractFlowNum {
    flex-shrink: 0;
    align-self: flex-start;
    width: calc(1.25em + max(3.125vw, 26px));
    transform: translateY(-10%);
    color: #fff;
    font-size: max(6.25vw, 5.6rem);
    line-height: 1
}

.planContractFlowCircle {
    position: relative;
    flex-shrink: 0;
    width: 19px;
    padding-top: 5px
}

.planContractFlowCircle::before {
    display: block;
    z-index: 3;
    position: relative;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background-color: #3c3c3c;
    content: "";
    transition: background-color 150ms ease-in-out
}

.planContractFlowProgress {
    position: absolute;
    top: 5px;
    bottom: -5px;
    left: 50%;
    width: 1px;
    background-color: #3c3c3c
}

.planContractFlowProgressInner {
    z-index: 2;
    position: absolute;
    top: 0;
    bottom: 100%;
    width: 1px;
    background-color: #a5915a
}

.planContractFlowDetail {
    padding-left: 1.5625vw
}

.planContractFlowTerm {
    font-size: max(1.5625vw, 2.5rem);
    transition: color 150ms ease-in-out
}

.planContractFlowData {
    color: #000;
    font-size: max(.9895833333vw, 1.3rem);
    line-height: 1.7368421053
}

.planOther {
    background-color: #fff
}

.planOtherSection {
    display: flex;
    flex-direction: column;
    padding-top: 35px;
    border-top: 1px solid #a5915a
}

.planOtherSectionTitle {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: max(2.8645833333vw, 40px);
    color: #a5915a
}

.planOtherSectionTitleEn {
    display: inline-block;
    padding-top: 10px;
    font-weight: 500;
    font-size: max(1.0416666667vw, 1.4rem)
}

.planOtherSectionTitleJa {
    font-size: max(2.0833333333vw, 3rem);
    line-height: 1.2
}

.planOtherTable {
    width: 100%;
    margin-top: auto;
    border: 1px solid #3f3f3f;
    color: #000
}

.planOtherTable thead {
    border-bottom: 1px solid #3f3f3f;
    background-color: #eceaea
}

.planOtherTable tbody tr:not(:last-child) {
    border-bottom: 1px solid rgba(63, 63, 63, .2)
}

.planOtherTable tbody tr>th {
    background-color: #fff;
    text-align: left
}

.planOtherTable tbody td {
    vertical-align: middle
}

.planOtherTable th,
.planOtherTable td {
    padding: 1em;
    font-size: 1.7rem;
    line-height: 1.4;
    text-align: center
}

.planOtherTable th:not(:last-child),
.planOtherTable td:not(:last-child) {
    border-right: 1px solid rgba(63, 63, 63, .2)
}

.planOtherTable.necessaryDocuments {
    position: relative
}

.planOtherTable.necessaryDocuments thead {
    position: sticky;
    top: 0
}

.planOtherTable.cpme tbody tr>th {
    padding: .78em;
    border-right: 1px solid rgba(63, 63, 63, .2);
    color: #a5915a;
    font-size: 2rem;
    line-height: 1.4;
    white-space: nowrap
}

.planOther .cpmeTableWrap {
    width: 100%;
    margin-top: auto
}

[data-barba-namespace=about]+.footer .footerPageNotice.js-aboutActive {
    display: block
}

[data-barba-namespace=about]+.footer .footerNavLink.js-aboutActive {
    color: #a5915a
}

.aboutMv .lowerPageMvImgInner.aboutMvEnd {
    display: grid;
    place-content: center;
    padding: 10%;
    background-color: #fff
}

.aboutMv .lowerPageMvImgInner.aboutMvEnd img {
    width: 100%;
    max-width: 814px
}

.aboutMessage {
    position: relative;
    padding-bottom: max(11.4583333333vw, 170px)
}

.aboutMessageMarquee {
    width: 100%;
    margin-bottom: max(6.5104166667vw, 90px);
    overflow: hidden;
    color: #eceaea;
    font-size: max(9.3229166667vw, 8.9rem)
}

.aboutMessageMarqueeInner {
    display: flex;
    column-gap: 1em
}

.aboutMessageMarqueeInner>span {
    display: inline-block;
    white-space: nowrap
}

.aboutMessageMarqueeItem {
    animation: aboutMessageMarquee 15s linear infinite;
    will-change: translate
}

@keyframes aboutMessageMarquee {
    0% {
        translate: 0
    }

    100% {
        translate: calc(-100% - 1rem)
    }
}

.aboutMessageTitle {
    margin-bottom: max(4.84375vw, 33px);
    font-weight: bold;
    font-size: max(1.8229166667vw, 3rem);
    line-height: 1.4
}

.aboutMessageLead {
    max-inline-size: 580px;
    margin-inline: auto;
    font-size: max(1.0416666667vw, 1.5rem);
    line-height: 2.1
}

.aboutIntro {
    position: relative
}

.aboutIntroHeader {
    position: relative
}

.aboutIntroTitle {
    margin-bottom: max(2.2395833333vw, 50px)
}

.aboutIntroTitleEn {
    font-size: max(6.7708333333vw, 5rem)
}

.aboutIntroTitleJa {
    transform: translateY(-0.3em);
    font-size: max(1.5625vw, 2rem)
}

.aboutIntroText {
    margin-left: auto;
    font-size: max(.9895833333vw, 1.5rem);
    line-height: 1.7368421053;
    text-align: justify
}

.aboutFeatureSholderText {
    margin-bottom: 1em
}

.aboutFeatureTitle {
    margin-bottom: 4.7916666667vw;
    font-size: max(5.7291666667vw, 5rem)
}

.aboutFeatureLeadMain {
    margin-bottom: max(3.6458333333vw, 35px);
    font-weight: bold;
    font-size: max(1.3020833333vw, 1.7rem);
    line-height: 1.8
}

.aboutFeatureLeadSub {
    font-size: 1.5rem;
    line-height: 1.5333333333
}

.aboutShareofficeImg {
    position: relative
}

.aboutShareofficeImg .aboutShareofficeImgCover[id=aboutShareofficeImgCover01] {
    z-index: 4
}

.aboutShareofficeImg .aboutShareofficeImgCover[id=aboutShareofficeImgCover02] {
    z-index: 3
}

.aboutShareofficeImgItem {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%
}

.aboutShareofficeImgItem img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.aboutLocation {
    overflow: hidden
}

.aboutLocationImg {
    position: relative;
    pointer-events: none
}

.aboutLocationImg .aboutLocationImgCover {
    z-index: 2;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
}

.aboutLocationImgItem {
    position: absolute;
    top: 0;
    height: 100%
}

.aboutLocationImgItem .caption.onImg {
    color: rgba(255, 255, 255, .2)
}

.aboutLocationImgCaption {
    position: absolute;
    left: 0;
    font-weight: 200;
    font-size: 15.2083333333vw;
    line-height: .8em;
    letter-spacing: -0.03em;
    writing-mode: vertical-lr
}

.aboutLocationImgCaption.isBefore {
    top: -0.12em
}

.aboutLocationImgCaption.isAfter {
    top: -0.04em
}

.aboutBuildingElevation {
    position: sticky;
    top: 100px;
    padding-top: 42px;
    mix-blend-mode: multiply
}

.aboutBuildingElevationImg {
    width: 65%;
    margin-left: auto;
    padding-bottom: calc(4.5833333333vw + 42px)
}

.aboutGalleryItem {
    position: relative;
    background-size: 100%
}

.aboutGalleryItem.item1 {
    aspect-ratio: 183/98;
    background-image: url(../img/style3a11/12.webp)
}

.aboutGalleryItem.item2 {
    aspect-ratio: 71/36;
    background-image: url(../img/style3a11/11.webp)
}

.aboutGalleryItem.item3 {
    aspect-ratio: 290/229;
    background-image: url(../img/style3a11/10.webp)
}

[data-barba-namespace=floorguide]+.footer .footerPageNotice.js-floorguideActive {
    display: block
}

[data-barba-namespace=floorguide]+.footer .footerNavLink.js-floorguideActive {
    color: #a5915a
}

.fgFeatureIntro.noPadTop {
    padding-top: 0
}

.fgFeatureIntroHead {
    position: relative
}

.fgFeatureIntroTitle {
    margin-bottom: max(2.6041666667vw, 50px)
}

.fgFeatureIntroTitleEn {
    font-size: max(6.7708333333vw, 5rem)
}

.fgFeatureIntroTitleJa {
    font-size: max(1.5625vw, 2rem)
}

.fgFeatureIntroText {
    margin-left: auto;
    font-size: max(.9895833333vw, 1.5rem);
    line-height: 1.7368421053;
    text-align: justify
}

.fgMapNav {
    display: grid;
    place-content: center
}

.fgMapNavInner {
    position: relative
}

.fgMapNavBtn {
    z-index: 2;
    position: absolute;
    width: 23px;
    height: 23px;
    transform: translate(-50%, -50%)
}

.fgMapNavBtnText {
    display: flex;
    z-index: 2;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    background-color: #a5915a;
    color: #fff;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 14px;
    filter: drop-shadow(1px 1px 6px #000)
}

.fgMapNavBtn.btnA {
    top: 42%;
    left: 32.5%
}

.fgMapNavBtn.btnA::after {
    width: 4.6354166667vw;
    height: 4.0104166667vw;
    transform: translate(-40%, -60%);
    background-image: url(../img/style3a11/09.webp)
}

.fgMapNavBtn.btnB {
    top: 77.7%;
    left: 16%
}

.fgMapNavBtn.btnB::after {
    width: 4.6354166667vw;
    height: 7.5520833333vw;
    transform: translate(50%, -35%);
    background-image: url(../img/style3a11/08.webp)
}

.fgMapNavBtn.btnC {
    top: 86%;
    left: 36.2%
}

.fgMapNavBtn.btnC::after {
    width: 5.8854166667vw;
    height: 6.1979166667vw;
    transform: translate(-27%, -51%);
    background-image: url(../img/style3a11/07.webp)
}

.fgMapNavBtn.btnD {
    top: 68%;
    left: 59.5%
}

.fgMapNavBtn.btnD::after {
    width: 6.09375vw;
    height: 4.375vw;
    transform: translate(-42%, 15%);
    background-image: url(../img/style3a11/06.webp)
}

.fgMapNavBtn.btnE {
    top: 85%;
    right: 13%
}

.fgMapNavBtn.btnE::after {
    width: 5.7291666667vw;
    height: 6.25vw;
    transform: translate(-73%, -47%);
    background-image: url(../img/style3a11/05.webp)
}

.fgMapDetail {
    background-color: #e3e1e1
}

.fgMapDetailImg {
    margin-bottom: max(6.71875vw, 40px)
}

.fgMapDetailContent {
    padding-bottom: max(6.71875vw, 40px)
}

.fgMapDetailHead {
    display: flex
}

.fgMapDetailIcon {
    display: grid;
    flex-shrink: 0;
    place-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: #a5915a;
    color: #fff;
    font-size: 2.4rem
}

.fgMapDetailTitle>span {
    display: block
}

.fgMapDetailTitleEn {
    margin-bottom: 5px;
    font-weight: 600
}

.fgMapDetailTitleJa {
    font-weight: bold
}

.fgMapDetailLead {
    font-size: max(.78125vw, 1.3rem);
    line-height: 1.5333333333
}

.fgMapSlideControls {
    display: flex;
    position: relative;
    column-gap: 14px;
    align-items: center;
    justify-content: center;
    margin-top: 20px
}

.fgMapSlideControls .swiper-pagination,
.fgMapSlideControls .swiper-button-next,
.fgMapSlideControls .swiper-button-prev {
    position: static
}

.fgMapSlideControls .swiper-pagination {
    width: -moz-fit-content;
    width: fit-content
}

.fgMapSlideControls .swiper-pagination .swiper-pagination-bullet {
    width: 17px;
    height: 17px
}

.fgMapSlideControls .swiper-button-next,
.fgMapSlideControls .swiper-button-prev {
    margin-top: 0
}

.fgLoungeGallery {
    position: relative
}

.fgLoungeGalleryItem {
    position: sticky;
    top: 0;
    width: 100%;
    overflow: hidden
}

.fgPrivate {
    position: relative
}

.fgPrivateNotice {
    padding: 15px 10px 0
}

.fgVr {
    margin-bottom: max(13.5416666667vw, 120px)
}

.fgVrInner {
    position: relative;
    background-color: #fff
}

.fgVrTitleSub {
    position: absolute
}

.fgVrLead {
    font-size: max(1.40625vw, 17px);
    line-height: 1.6666666667
}

.fgVrImg {
    position: relative;
    width: 44.1379310345%;
    overflow: hidden;
    border-radius: 20px
}

.fgVrImgLink {
    display: grid;
    z-index: 2;
    position: absolute;
    place-content: center;
    inset: 0;
    background-color: rgba(0, 0, 0, 0)
}

.fgVrImgLinkText {
    display: inline-block;
    overflow: hidden
}

.fgVrImgLinkTextInner {
    display: flex;
    align-items: center;
    gap: 1em;
    transform: translateY(130%);
    color: #fff;
    font-weight: 500;
    font-size: 3.1rem
}

.fgVrImgBase {
    overflow: hidden;
    border-radius: 20px
}

.fgVrImgBase>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.fgDesignConcept {
    contain: paint;
    padding-bottom: max(15.625vw, 216px);
    padding-left: 4.6875vw
}

.fgDesignConceptContent {
    position: relative
}

.fgDesignConceptContent::before,
.fgDesignConceptContent::after {
    display: block;
    width: 100%;
    overflow: hidden;
    background-color: #2b2b2b;
    content: ""
}

.fgDesignConceptContent::before {
    height: 60px;
    margin-bottom: -1px;
    border-radius: 40px 0 0 0
}

.fgDesignConceptContent::after {
    height: max(13.5416666667vw, 88px);
    margin-top: -2px;
    border-radius: 0 0 0 40px
}

.fgDesignConceptTitle {
    contain: paint;
    display: flex;
    position: relative;
    margin-bottom: 7.8125vw;
    overflow: hidden;
    gap: 1rem;
    color: rgba(255, 255, 255, .13);
    font-weight: 200;
    font-size: 25rem;
    font-size: max(13.0208333333vw, 8.3rem);
    line-height: 1.2;
    white-space: nowrap
}

.fgDesignConceptTitle::before,
.fgDesignConceptTitle::after {
    z-index: 2;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2em;
    content: ""
}

.fgDesignConceptTitle::before {
    left: 0;
    background: linear-gradient(to right, #2b2b2b 0%, rgba(43, 43, 43, 0) 100%)
}

.fgDesignConceptTitle::after {
    right: 0;
    background: linear-gradient(to left, #2b2b2b 0%, rgba(43, 43, 43, 0) 100%)
}

.fgDesignConceptTitleItem {
    animation: fgDesignConceptTitle 10s linear infinite;
    will-change: translate
}

@keyframes fgDesignConceptTitle {
    0% {
        translate: 0
    }

    100% {
        translate: calc(-100% - 1rem)
    }
}

.fgDesignConceptBody {
    position: relative
}

.fgDesignConceptTheme {
    margin-bottom: max(4.4791666667vw, 38px)
}

.fgDesignConceptThemeTerm {
    font-size: 1.6rem
}

.fgDesignConceptThemeTitle {
    margin-bottom: 30px;
    font-size: max(5.7291666667vw, 40px)
}

.fgDesignConceptThemeLead {
    max-inline-size: 367px;
    line-height: 1.5333333333
}

.fgDesignConceptCompany {
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 20px
}

.fgDesignConceptCompanyTerm {
    font-size: 2rem
}

.fgDesignConceptImg {
    position: absolute;
    width: 23.8020833333vw
}

.fgDesignConceptImg.img1 {
    z-index: 3;
    top: 0;
    left: -3.6458333333vw
}

.fgDesignConceptImg.img2 {
    z-index: 2;
    top: -1.875vw;
    left: 5.1041666667vw
}

.fgDesignConceptImg.img3 {
    z-index: 1;
    top: 2.7604166667vw;
    left: 12.3958333333vw
}

.fgDesignConceptSpAnim {
    position: absolute;
    top: 0;
    left: -7.2vw;
    width: 107.2vw;
    height: 265px;
    background-image: url(../img/style3a11/04.webp);
    background-size: 647px 265px;
    background-repeat: repeat-x;
    animation-duration: 6s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-name: fgDesignConceptSpAnim
}

.fgDesignConceptSpAnim .caption.onImg {
    right: 8.5333333333vw
}

@keyframes fgDesignConceptSpAnim {
    0% {
        background-position-x: 0
    }

    100% {
        background-position-x: -647px
    }
}

@media screen and (min-width: 600px) {
    .privatePlanImg {
        display: flex
    }

    .privatePlanImg .multiple {
        width: 63.75vw
    }

    .privatePlanImg .solo {
        width: 36.25vw
    }

    .fgVrTitleMain {
        width: 62.2346368715%
    }
}

@media(min-width: 768px) {

    .is-navOpen .navBg::before,
    .is-navOpen .navBg::after {
        transform: translateX(0) rotate(0) scale(1.3, 1)
    }

    .is-cvModalOpen .cvModalBg::after {
        transform: translateX(0) rotate(0) scale(1.3, 1)
    }
}

@media screen and (min-width: 769px) {
    .displayNotNarrow {
        display: inherit
    }

    .displayNotNarrow.displayInlineBlock {
        display: inline-block
    }

    .displayNarrow {
        display: none
    }

    .l-inner {
        padding-inline: 2.34375vw
    }

    .l-inner.narrowContents {
        padding-inline: 4.6875vw
    }

    .headerCopy {
        position: fixed;
        top: 48px;
        left: 50%;
        transform: translateX(-50%);
        text-align: center
    }

    .footer .l-footer {
        padding-bottom: 5.2083333333vw;
        padding-inline: 4.6875vw
    }

    .footerContentsInfo {
        margin-bottom: 55px
    }

    .footerContactTelIcon {
        width: 32px
    }

    .footerAgent {
        display: flex;
        margin-bottom: 5.2083333333vw;
        padding-block: 9.375vw
    }

    .footerAgent>* {
        width: 50%
    }

    .footerAgentTitle {
        padding-inline: 4.6875vw
    }

    .footerAgentContent {
        padding-top: .8vw;
        padding-right: 4.6875vw
    }

    .footerAgentData {
        display: flex;
        column-gap: 3.4375vw;
        align-items: center
    }

    .footerAgentDataText {
        width: 25vw
    }

    .footerAgentDataImg {
        width: 13.75vw;
        padding-top: 1vw
    }

    .footerPageNotice {
        padding-inline: 1.7708333333vw
    }

    .lowerPageMvTitle {
        bottom: 37px;
        left: 2.34375vw
    }

    .lowerPageMvTitleJa {
        display: inline-block;
        margin-left: 2em
    }

    .navLoadingDot {
        width: 5px;
        height: 5px
    }

    .navTriggerBar:nth-of-type(1) {
        top: -6px
    }

    .navTriggerBar:nth-of-type(3) {
        top: 7px
    }

    .cvModal {
        display: flex;
        top: 0;
        right: 0;
        column-gap: 5.0520833333vw;
        padding: 179px 7.1354166667vw
    }

    .cvModalContentTerm {
        margin-bottom: 25px;
        font-weight: 500;
        font-size: 5rem
    }

    .cvModalContentLead {
        margin-bottom: 30px;
        font-size: 1.5rem;
        line-height: 1.6666666667
    }

    .cvModalContent .linkBtn,
    .cvModalContent .btnNromalContent,
    .cvModalContent .btnHoverContent {
        width: 275px;
        height: 93px
    }

    .cvModalBg {
        top: 19px;
        right: 19px;
        border-radius: 53px
    }

    .cvModalBg::after {
        transform: translate(130px, 0) rotate(15deg) scale(1.3, 0);
        transform-origin: 100% 0;
        transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1)
    }

    .pageTtlContents {
        bottom: 5.8565153734vw;
        left: 11.7130307467vw
    }

    .linkBtn.longTextJa,
    button.linkBtn.longTextJa,
    a.linkBtn.longTextJa {
        width: 339px;
        border-radius: 42px
    }

    .linkBtn.longTextJa .btnNromalContent,
    .linkBtn.longTextJa .btnHoverContent,
    button.linkBtn.longTextJa .btnNromalContent,
    button.linkBtn.longTextJa .btnHoverContent,
    a.linkBtn.longTextJa .btnNromalContent,
    a.linkBtn.longTextJa .btnHoverContent {
        width: 339px;
        font-size: 1.8rem
    }

    .articleList {
        display: grid;
        column-gap: 6.8vw
    }

    .articleList>* {
        position: relative
    }

    .articleList>*::before {
        display: block;
        position: absolute;
        top: 0;
        right: -3.4vw;
        bottom: 0;
        width: 1px;
        background-color: rgba(0, 0, 0, .4);
        content: ""
    }

    .is-home .homeLogoWrap {
        height: 100vh;
        padding-bottom: 68px;
        opacity: 0
    }

    .homeIntroductionColItem {
        width: 50%
    }

    .homeIntroductionSholderNarrow {
        display: none
    }

    .homeFeatureIntroMain {
        position: absolute;
        top: 24.6354166667vw
    }

    .homeFeatureIntroTitle {
        font-size: 4rem;
        line-height: 1.4
    }

    .homeFeatureIntroCont01 {
        padding-top: 45.3125vw
    }

    .homeFeatureIntroCont02 .homeIntroductionFan {
        top: 18.0208333333vw;
        left: -1px;
        width: 50vw
    }

    .homeFeatureLead {
        margin-top: -10.4166666667vw
    }

    .homeFeatureTitleEn .word:last-child {
        margin-top: -0.25em
    }

    .homeFeatureLeadCont01 {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-right: 35px
    }

    .homeFeatureLeadCont02 {
        position: relative
    }

    .homeFeatureLeadCont02Inner {
        z-index: 2;
        position: absolute;
        right: 0;
        bottom: 8.3333333333vw
    }

    .homeFeatureLeadCont02Text {
        margin-left: auto
    }

    .homeFeatureLeadSholderText {
        position: absolute;
        top: 0;
        left: -6.25vw;
        writing-mode: vertical-lr
    }

    .homeValue {
        margin-bottom: 200vh
    }

    .homeValueSection {
        padding-top: 27px;
        padding-bottom: max(30vh, 150px);
        border-radius: 50px 50px 0 0
    }

    .homeValueSectionInner {
        display: flex;
        column-gap: max(5.15625vw, 40px);
        padding-left: 2.34375vw
    }

    .homeValueSectionCont {
        column-gap: max(5.15625vw, 40px)
    }

    .homeValueSectionCont01 {
        width: 61.4699331849%;
        padding-top: 4.9479166667vw
    }

    .homeValueSectionCont01.wideWidth {
        width: 65.5530809206%
    }

    .homeValueSectionCont01Lead {
        margin-bottom: 1.2em;
        font-weight: bold;
        font-size: 3rem;
        font-size: max(1.5625vw, 1.7rem);
        line-height: 1.5
    }

    .homeValueSectionCont01Text {
        margin-bottom: 2.5em
    }

    .homeValueSectionCont02 {
        width: 38.5300668151%
    }

    .homeValueSectionSholder {
        column-gap: 20px;
        align-items: center;
        margin-bottom: -10px;
        font-size: 1.4rem
    }

    .homeValueSectionSholderNum {
        font-size: 3rem
    }

    .homeFloorGuide {
        display: flex;
        z-index: 0;
        position: fixed;
        inset: 0;
        opacity: 0
    }

    .homeFloorGuideMain {
        align-self: center;
        width: 47.5vw;
        text-align: center
    }

    .homeFloorGuideSub {
        width: 26.25vw;
        min-height: 59.6875vw;
        background-size: 100%;
        background-repeat: repeat-y;
        animation-duration: 500s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
        animation-name: bgSlideVertical;
        opacity: .6
    }

    @keyframes bgSlideVertical {
        0% {
            background-position-y: 0
        }

        100% {
            background-position-y: 5000%
        }
    }

    .homeFloorGuideSlide01 {
        background-image: url(../img/style3a11/02.webp);
        animation-direction: reverse
    }

    .homeFloorGuideSlide02 {
        background-image: url(../img/style3a11/03.webp)
    }

    .homeFloorGuideTitle .sectionTitleJa {
        margin-top: -5px
    }

    .homeFloorGuideTitle .word:last-child {
        margin-top: max(-2.2vw, -35px)
    }

    .homeFacilities {
        height: clamp(600px, 150vh, 1300px);
        padding-bottom: 10.4166666667vw
    }

    .homeFacilitiesMain {
        padding-top: 17.1875vw
    }

    .homeFacilitiesInner {
        width: 55.46875vw;
        padding-left: 5.7291666667vw
    }

    .homeFacilitiesCircle {
        aspect-ratio: 1/1;
        width: 55.2083333333vw;
        transform: translate(65vw, -5vw);
        transform-origin: center
    }

    .homeFacilitiesCircle .circleItem {
        position: absolute;
        width: 17.1875vw
    }

    .homeFacilitiesCircle .circleItem:nth-child(1) {
        top: 0;
        left: calc(50% - 8.59375vw)
    }

    .homeFacilitiesCircle .circleItem:nth-child(2) {
        top: 8.3333333333vw;
        left: 0
    }

    .homeFacilitiesCircle .circleItem:nth-child(3) {
        bottom: 8.3333333333vw;
        left: 0
    }

    .homeFacilitiesCircle .circleItem:nth-child(4) {
        bottom: 0;
        left: calc(50% - 8.59375vw)
    }

    .homeFacilitiesCircle .circleItem:nth-child(5) {
        right: 0;
        bottom: 8.3333333333vw
    }

    .homeFacilitiesCircle .circleItem:nth-child(6) {
        top: 8.3333333333vw;
        right: 0
    }

    .homeFacilitiesSholderText {
        z-index: 2;
        position: absolute;
        top: 0;
        left: -5.7291666667vw;
        writing-mode: vertical-lr
    }

    .homeAccess {
        padding-block: 13.5416666667vw 17.0833333333vw
    }

    .homeAccessSholderText {
        z-index: 2;
        position: absolute;
        top: 0;
        left: 0;
        writing-mode: vertical-lr
    }

    .homeAccessTitle {
        display: flex;
        column-gap: 60px;
        align-items: baseline;
        padding-left: 7.5520833333vw
    }

    .homeAccessCont {
        display: flex;
        align-items: flex-start;
        padding-bottom: 5.8854166667vw
    }

    .homeAccessCont>* {
        width: 50%;
        min-height: 47.65625vw;
        overflow: hidden;
        border-radius: 50px
    }

    .homeAccessInfo {
        padding-block: 4.1666666667vw;
        transform: translateY(5.8854166667vw)
    }

    .homeAccessInfoTitleEn {
        margin-bottom: .4em;
        font-size: 5rem
    }

    .homeAccessInfoTitleJa {
        font-size: 2rem
    }

    .homeInfo {
        padding-block: 15.625vw 13.28125vw
    }

    .homeInfoTitle {
        margin-bottom: 50px;
        padding-left: 2.34375vw
    }

    .homeInfoArticleList .infoArticle:not(:first-child) .infoArticleImg {
        width: 230px
    }

    .homeInfoArticleList .infoArticle:not(:first-child) .infoArticleCont {
        width: calc(100% - 230px)
    }

    .accessLocationIntroText {
        max-width: 584px;
        margin-top: -5px
    }

    .accessLocationPlaceSectionStickyInner {
        padding-inline: 4.6875%
    }

    .accessLocationPlaceTime {
        width: 50%;
        margin-left: auto;
        padding-right: 5.8333333333vw
    }

    .accessLocationAddress {
        display: flex
    }

    .accessLocationAddressImg,
    .accessLocationAddressContent {
        width: 50%
    }

    .accessLocationAddressImg {
        position: relative
    }

    .accessLocationAddressImg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center bottom
    }

    .accessLocationAddressContentTitleEn {
        margin-bottom: .4em;
        font-size: max(2.8125vw, 1.5rem)
    }

    .accessLocationAddressContentTitleJa {
        font-size: max(1.09375vw, 1.2rem)
    }

    .accessTrafficIntroText {
        max-width: 584px
    }

    .accessTrafficContent {
        display: flex
    }

    .accessTrafficContent>* {
        width: 50%
    }

    .accessTrafficTime {
        height: 50%
    }

    .accessTrafficTimeBg {
        position: absolute;
        inset: 0
    }

    .accessTrafficTimeBg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right bottom
    }

    .newsPageDetailHead {
        display: flex;
        justify-content: space-between;
        margin-bottom: 7.2916666667vw;
        padding-top: 19.53125vw;
        padding-bottom: 8.9583333333vw
    }

    .newsPageDetailInfo {
        width: 162px;
        padding-top: 22px
    }

    .monthlyArchiveTerm {
        margin-bottom: 45px;
        padding-bottom: 25px;
        border-bottom: 1px solid #a5915a
    }

    .infoArticleImg {
        width: 413px
    }

    .infoArticleCont {
        width: calc(100% - 413px)
    }

    .infoArticleTitle {
        font-weight: 500;
        font-size: 3rem;
        line-height: 1.5
    }

    .infoArticleInner {
        display: flex;
        column-gap: 2.8125vw;
        color: #3c3c3c
    }

    .hasIcon.infoArticle .infoArticleCont {
        padding-right: 156px
    }

    .faqSectionTitle {
        display: flex;
        align-items: flex-end;
        padding-bottom: 70px;
        gap: 1rem 2.8rem
    }

    .faqSectionContentTermNum {
        display: inline-block;
        margin-right: 8.0729166667%;
        padding-left: 1.0416666667%;
        font-size: 5.9rem
    }

    .faqSectionContentDataInner {
        padding-top: 48px;
        padding-left: 14.5833333333%
    }

    .brandSection {
        display: flex;
        align-items: flex-start
    }

    .brandSectionHeader,
    .brandSectionBody {
        width: 50%;
        padding-inline: 4.6875vw
    }

    .brandSectionHeader {
        position: sticky;
        top: 0;
        padding-top: 180px;
        padding-bottom: 178px
    }

    .brandReqreeInfoTitle {
        font-weight: bold;
        font-size: 2.7rem;
        line-height: 1.4814814815
    }

    .serviceIntro {
        padding-bottom: 325px
    }

    .serviceIntroSholderText {
        position: absolute;
        top: 1.1vw;
        left: -2.6041666667vw;
        letter-spacing: -0.03em;
        writing-mode: vertical-lr
    }

    .serviceIntroText {
        max-width: 584px
    }

    .serviceContents {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        grid-auto-rows: auto
    }

    .serviceContentsItem {
        grid-row: var(--r);
        grid-column: var(--c)/span var(--s)
    }

    .serviceContentsItemImg {
        display: grid;
        place-items: center;
        width: 100%;
        height: auto;
        overflow: hidden
    }

    .longItemPosLeft .serviceContentsItemImg {
        aspect-ratio: 9/4
    }

    .serviceContentsItemMain {
        display: flex;
        position: absolute;
        align-items: flex-end;
        inset: 0;
        padding: 2.3958333333vw 1.4583333333vw
    }

    .serviceContentsItemMain.posReverse {
        justify-content: flex-end
    }

    .serviceContentsItemMainInner {
        max-width: 310px
    }

    .longItemPosRight .serviceContentsItemMain {
        right: 0;
        left: auto;
        width: 50%
    }

    .longItemPosLeft .serviceContentsItemMain {
        right: auto;
        left: 0;
        width: 33.33333%
    }

    .planIntro {
        padding-bottom: 7.1875vw
    }

    .planIntroSholderText {
        position: absolute;
        top: 1.1vw;
        left: -.2604166667vw;
        letter-spacing: -0.03em;
        writing-mode: vertical-lr
    }

    .planIntroTitle {
        padding-left: 7.8125vw
    }

    .planIntroText {
        max-width: 584px
    }

    .planDetail {
        margin-bottom: 17.5vw
    }

    .planDetailTitleJa {
        margin-bottom: 15px;
        font-size: 1.5625vw
    }

    .planDetailTitleEn {
        font-size: 6.7708333333vw
    }

    .planDetailInfoPrice {
        margin-bottom: 15px;
        border-radius: 10px
    }

    .planDetailInfoFeature {
        overflow: hidden;
        border: 1px solid #3c3c3c;
        border-radius: 10px
    }

    .planDetailInfoFeatureInner {
        display: flex
    }

    .planDetailInfoFeatureTerm {
        width: 13em;
        border-right: 1px solid rgba(60, 60, 60, .2)
    }

    .planDetailInfoFeatureData {
        width: calc(100% - 13em)
    }

    .planDetailInfoFeatureTerm,
    .planDetailInfoFeatureData {
        padding: 1em 2em;
        font-size: max(.9375vw, 1.6rem)
    }

    .privatePlan {
        padding-top: 17.03125vw;
        padding-bottom: 17.5vw
    }

    .privatePlanHeader {
        display: flex;
        column-gap: max(2.0833333333vw, 4rem);
        align-items: flex-end;
        margin-bottom: 9.375vw
    }

    .privatePlanHeader>* {
        width: 50%
    }

    .privatePlanInfo {
        max-width: 680px;
        margin-left: auto
    }

    .privatePlanImgCaption {
        bottom: 1.25vw;
        left: 1.25vw;
        min-height: 51px
    }

    .loungePlan {
        background-color: #eceaea
    }

    .loungePlanHeader {
        display: flex;
        column-gap: max(2.0833333333vw, 4rem);
        align-items: flex-end;
        margin-bottom: 8.59375vw
    }

    .loungePlanHeader>* {
        width: 50%
    }

    .loungePlanHeader .planDetailLead {
        padding-bottom: 2vw
    }

    .loungePlanInfo {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        column-gap: max(3.0208333333vw, 4rem);
        margin-bottom: 8.8541666667vw
    }

    .loungePlanInfo .planDetailInfoFeatureTerm {
        width: 40%
    }

    .loungePlanInfo .planDetailInfoFeatureData {
        width: 60%
    }

    .loungePlanInfo .planDetailInfoFeatureTerm,
    .loungePlanInfo .planDetailInfoFeatureData {
        padding: 1em 1.6666666667vw;
        font-size: 1.4rem;
        line-height: 1.2
    }

    .loungePlanDetail {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4;
        padding-top: 35px
    }

    .planService {
        margin-bottom: 16.40625vw
    }

    .planServiceIntroSholderText {
        position: absolute;
        top: 1.1vw;
        left: -.2604166667vw;
        letter-spacing: -0.03em;
        writing-mode: vertical-lr
    }

    .planServiceIntroTitle {
        display: flex;
        column-gap: 2.5vw;
        align-items: baseline;
        padding-left: 7.8125vw
    }

    .planServiceIntroText {
        max-width: 584px
    }

    .planServiceList {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        column-gap: 4.4270833333vw
    }

    .planServiceDetail:nth-child(2) {
        padding-top: 7.7083333333vw
    }

    .planServiceDetail:nth-child(3) {
        padding-top: 16.5104166667vw
    }

    .planContract {
        padding-block: 18.75vw 13.2291666667vw
    }

    .planContractIntro {
        padding-right: 4.6875vw;
        padding-left: 7.8125vw
    }

    .planContractIntroSholderText {
        position: absolute;
        top: 1.1vw;
        left: -2.6041666667vw;
        letter-spacing: -0.03em;
        writing-mode: vertical-lr
    }

    .planContractIntroTitle {
        display: flex;
        column-gap: 2.5vw;
        align-items: baseline;
        margin-bottom: 20px
    }

    .planContractIntroTitleEn .word:last-child {
        margin-top: -0.15em
    }

    .planContractIntroTitleJa {
        position: absolute;
        bottom: 2.9vw;
        left: 16.5vw
    }

    .planContractIntroText {
        max-width: 584px
    }

    .planOther {
        padding-block: 14.5833333333vw 15.625vw
    }

    .planOtherSectionTitle {
        display: flex;
        column-gap: 2.1875vw;
        flex-wrap: wrap;
        align-items: flex-end
    }

    .aboutIntro {
        padding-block: 13.5416666667vw 9.8958333333vw
    }

    .aboutIntroSholderText {
        position: absolute;
        top: 1.1vw;
        left: -.2604166667vw;
        letter-spacing: -0.03em;
        writing-mode: vertical-lr
    }

    .aboutIntroTitle {
        display: flex;
        column-gap: 2.5vw;
        align-items: baseline;
        padding-left: 7.8125vw
    }

    .aboutIntroText {
        max-width: 584px
    }

    .aboutFeatureLead {
        max-width: max(33.8541666667vw, 577px)
    }

    .aboutFeatureLead.pcHasLp {
        padding-left: 3.6458333333vw
    }

    .aboutShareoffice {
        display: flex;
        flex-direction: row-reverse
    }

    .aboutShareoffice>* {
        width: 50%;
        min-height: 50vw
    }

    .aboutShareofficeContents {
        padding-block: 12.6041666667vw 11.9270833333vw
    }

    .aboutLocation {
        display: flex;
        align-items: flex-start
    }

    .aboutLocation>* {
        width: 50%;
        min-height: 50vw
    }

    .aboutLocationContents {
        padding-top: 12.6041666667vw;
        padding-bottom: 26.3020833333vw
    }

    .aboutLocation .aboutFeatureLead {
        margin-bottom: 11.7708333333vw
    }

    .aboutLocationImgItem {
        width: 38.4895833333vw;
        padding-left: 4.6875vw
    }

    .aboutBuilding {
        padding-top: 11.71875vw
    }

    .aboutBuildingContents {
        display: flex;
        padding-bottom: 12.7083333333vw
    }

    .aboutBuildingContents>* {
        width: 50%
    }

    .aboutBuildingHeader {
        padding-left: 13.9583333333vw
    }

    .aboutBuilding .aboutFeatureLead {
        padding-top: 1.5vw
    }

    .aboutBuildingImg {
        display: flex
    }

    .aboutBuildingImg>* {
        width: 50%
    }

    .aboutGallery {
        padding-top: 4.6875vw;
        padding-bottom: 15.625vw;
        padding-left: 4.6875vw
    }

    .aboutGalleryItemWide {
        margin-bottom: 4.6875vw
    }

    .aboutGalleryColWrap {
        display: flex;
        column-gap: 4.6875vw;
        align-items: flex-start;
        padding-right: 4.6875vw
    }

    .aboutGalleryColWrap>* {
        width: 50%
    }

    .fgFeatureIntro {
        padding-block: 13.5416666667vw 9.8958333333vw
    }

    .fgFeatureIntroSholderText {
        position: absolute;
        top: 1.1vw;
        left: -.2604166667vw;
        letter-spacing: -0.03em;
        writing-mode: vertical-lr
    }

    .fgFeatureIntroTitle {
        display: flex;
        column-gap: 2.5vw;
        align-items: baseline;
        padding-left: 7.8125vw
    }

    .fgFeatureIntroText {
        max-width: 584px
    }

    .fgMapMain {
        display: flex
    }

    .fgMapMain>* {
        width: 50%
    }

    .fgMapNav {
        padding: 4.1666666667vw 3.125vw
    }

    .fgMapNav .caption.onImg.posBottomRight {
        right: -4.1666666667vw;
        bottom: -3.125vw;
        transform: translateX(-50%)
    }

    .fgMapNavBtn::after {
        z-index: -1;
        position: absolute;
        top: 0;
        background-size: contain;
        background-repeat: no-repeat;
        content: ""
    }

    .fgMapContents {
        background-color: #e3e1e1;
        cursor: grab
    }

    .fgMapContents:active {
        cursor: grabbing
    }

    .fgMapDetailContent {
        max-inline-size: -moz-fit-content;
        max-inline-size: fit-content;
        margin-inline: auto
    }

    .fgMapDetailHead {
        column-gap: 18px;
        margin-bottom: 23px
    }

    .fgMapDetailTitleEn {
        font-size: max(2.8645833333vw, 3rem)
    }

    .fgMapDetailTitleJa {
        font-size: max(1.0416666667vw, 1.5rem)
    }

    .fgMapDetailLead {
        max-inline-size: 540px;
        padding-left: 65px;
        font-size: 1.5rem
    }

    .fgMapSlideControls {
        display: none
    }

    .fgMapMouseStoker {
        display: grid;
        z-index: 10;
        position: fixed;
        top: 0;
        left: 0;
        place-content: center;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background-color: #a5915a;
        color: #fff;
        font-weight: 500;
        opacity: 0;
        pointer-events: none
    }

    .fgMapMouseStoker::before,
    .fgMapMouseStoker::after {
        display: block;
        position: absolute;
        top: 50%;
        width: 14px;
        height: 9px;
        transform: translateY(-50%);
        background-color: #3c3c3c;
        content: ""
    }

    .fgMapMouseStoker::before {
        left: -21px;
        -webkit-clip-path: polygon(0 50%, 100% 100%, 100% 0);
        clip-path: polygon(0 50%, 100% 100%, 100% 0)
    }

    .fgMapMouseStoker::after {
        right: -21px;
        -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
        clip-path: polygon(0 0, 0% 100%, 100% 50%)
    }

    .fgMapMouseStokerText {
        display: flex;
        overflow: hidden;
        gap: 1rem
    }

    .fgMapMouseStokerWords {
        display: inline-block;
        white-space: nowrap;
        animation: fgMapMouseStokerWords 2s linear infinite;
        will-change: translate
    }

    @keyframes fgMapMouseStokerWords {
        0% {
            translate: 0
        }

        100% {
            translate: calc(-100% - 1rem)
        }
    }

    .fgVrInner {
        display: flex;
        align-items: center;
        padding: 39px;
        border-radius: 50px
    }

    .fgVrBody {
        width: 55.8620689655%;
        padding-left: 5.0574712644%;
        padding-block: 40px
    }

    .fgVrTitleSub {
        top: 39px;
        left: 49px
    }

    .fgDesignConceptBodyInner {
        padding-bottom: 2px;
        padding-inline: 45.4166666667vw 11.8229166667vw
    }

    .fgDesignConceptThemeLead {
        margin-inline-start: auto;
        font-size: 1.5rem
    }

    .fgDesignConceptCompany {
        display: grid;
        grid-template-columns: repeat(2, 50%);
        min-height: 175px
    }

    .fgDesignConceptCompany>* {
        display: grid;
        place-content: center;
        padding: 10px
    }

    .fgDesignConceptCompanyTerm {
        border-right: 1px solid rgba(255, 255, 255, .2)
    }

    .fgDesignConceptSpAnim {
        display: none
    }
}

@media screen and (min-width: 769px)and (max-width: 1023px) {
    .headerCopy {
        top: 32px
    }

    .articleList {
        grid-template-columns: repeat(2, 1fr)
    }

    .articleList>*:nth-child(even)::before {
        display: none
    }

    .homeValueSection {
        margin-top: -44px;
        padding-bottom: 120px
    }
}

@media screen and (min-width: 769px)and (max-width: 1279px) {

    .footerContact,
    .footerAbout {
        padding-inline: 4.6875vw
    }

    .footerContact {
        margin-bottom: 164px;
        padding-bottom: 164px
    }

    .planContractFlowTerm {
        margin-bottom: .8em
    }

    .fgMapNavBtn::after {
        left: 5px
    }
}

@media screen and (min-width: 769px)and (max-width: 1449px) {
    .planContractFlowDetail .planContractFlowTerm {
        margin-bottom: 10px
    }
}

@media screen and (min-width: 769px)and (max-width: 899px) {
    .accessLocationAddressContent {
        padding-block: 80px
    }
}

@media screen and (min-width: 800px) {
    .footerNavBtn:first-child {
        margin-bottom: 16px
    }
}

@media screen and (min-width: 900px) {
    .accessLocationAddressContentItem {
        display: grid;
        grid-template-columns: 11.9791666667vw auto;
        column-gap: 3.6458333333vw
    }

    .accessLocationAddressContentItem:not(:last-child) {
        margin-bottom: 4.4270833333vw
    }

    .planContract {
        display: flex;
        align-items: flex-start
    }

    .planContract>* {
        width: 50%
    }

    .planContractIntro {
        position: sticky;
        top: 150px
    }
}

@media screen and (min-width: 1024px) {
    .displayNotMedium {
        display: block
    }

    .displayNotMedium.displayInlineBlock {
        display: inline-block
    }

    .displayMedium {
        display: none
    }

    .headerLogo {
        top: 70px;
        left: 50%;
        width: 221px;
        transform: translateX(-50%)
    }

    .footerLower {
        display: flex;
        column-gap: clamp(80px, 6.25vw, 150px);
        justify-content: space-between
    }

    .footerLogo {
        width: max(10.8333333333vw, 180px)
    }

    .nav {
        top: 0;
        right: 0;
        width: 920px;
        padding: 174px 135px 130px;
        border-radius: 53px
    }

    .navTextEn {
        letter-spacing: -0.045em
    }

    .navBg {
        top: 19px;
        right: 19px;
        border-radius: 53px
    }

    .navBg::after {
        transform: translate(130px, 0) rotate(15deg) scale(1.3, 0);
        transform-origin: 100% 0;
        transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1)
    }

    .contactBtn .btnNromalContent,
    .contactBtn .btnHoverContent {
        width: 257px;
        height: 66px
    }

    .contactBtnJa {
        font-size: 1.6rem
    }

    .articleList {
        grid-template-columns: repeat(3, 1fr)
    }

    .articleList>*:nth-child(3n)::before {
        display: none
    }

    [data-barba-namespace=home]+.footer {
        padding-top: 0
    }

    .homeValue {
        padding-top: 150vh
    }

    .homeInfoArticleList {
        width: 69.2708333333vw;
        margin-left: auto
    }

    .newsPageBody {
        display: flex;
        column-gap: 9.7916666667vw;
        margin-bottom: 17.1875vw
    }

    .newsPageBodyMain {
        width: calc(100% - 200px)
    }

    .newsPageBody .monthlyArchive {
        position: relative;
        width: 200px
    }

    .newsPageBody .monthlyArchiveContetnt {
        position: sticky;
        top: 40px;
        width: 100%
    }

    .planOther {
        display: flex;
        column-gap: 9.375vw
    }

    .planOther>* {
        width: 50%
    }
}

@media screen and (min-width: 1280px) {
    .footerContents {
        display: flex;
        position: relative;
        column-gap: 9.375vw;
        align-items: flex-start
    }

    .footerContents>* {
        width: 50%
    }

    .footerContents::before {
        position: absolute;
        top: -9.375vw;
        bottom: 0;
        left: 50%;
        width: 1px;
        background-color: rgba(255, 255, 255, .2);
        content: ""
    }

    .footerContentsInfo {
        display: flex;
        column-gap: 3.125vw
    }

    .fgMapNavBtn::after {
        left: 10%
    }
}

@media screen and (min-width: 1420px) {
    .homeFeatureIntroImg {
        margin-bottom: 120px
    }
}

@media screen and (min-width: 1450px) {
    .displayXwide {
        display: inherit
    }

    .footerDaibiruLogo {
        width: 11.40625vw;
        margin-left: auto
    }

    .planContractFlowDetail {
        display: flex;
        column-gap: 10px
    }

    .planContractFlowDetail .planContractFlowTerm {
        width: max(11.1458333333vw, 214px);
        white-space: nowrap
    }

    .planContractFlowDetail .planContractFlowData {
        width: calc(100% - max(11.1458333333vw, 214px))
    }
}

@media screen and (min-width: 1500px) {
    .brandReqreeInfoHeader {
        display: flex;
        column-gap: 3.5416666667vw
    }

    .brandReqreeInfoTitle br {
        display: inline
    }

    .brandReqreeInfoLead {
        width: 21.5625vw
    }
}

@media screen and (max-width: 821px)and (min-height: 1000px) {
    .homeValue {
        margin-bottom: 100vh
    }

    .homeFacilities {
        height: clamp(600px, 100vh, 800px)
    }
}

@media screen and (max-width: 1449px) {
    .footerLower {
        flex-wrap: wrap
    }

    .footerLower .footerDaibiru {
        width: 100%;
        margin-top: 66px;
        text-align: center
    }

    .footerLower .footerDaibiruLogo {
        margin-inline: auto
    }
}

@media screen and (max-width: 1419px) {
    .homeFeatureIntroTitle br {
        display: none
    }
}

@media screen and (max-width: 1419px)and (min-width: 769px) {
    .homeFeatureIntroImg {
        margin-bottom: 175px
    }
}

@media screen and (max-width: 1279px) {
    .footer .l-footer.footerContents.l-footer {
        padding-inline: 0
    }

    .footerContact {
        border-bottom: 1px solid rgba(255, 255, 255, .2)
    }
}

@media screen and (max-width: 1024px) {
    .displayNotMedium {
        display: none
    }

    .displayMedium {
        display: block
    }
}

@media screen and (max-width: 1023px) {
    .headerInfoBtn {
        width: 124px;
        height: 40px;
        padding-left: 9px
    }

    .headerInfoBtnIcon {
        width: 16px;
        height: 16px;
        font-size: 1rem
    }

    .headerInfoBtnText {
        font-size: 1rem
    }

    .headerContact {
        top: 12px;
        right: 70px
    }

    .headerContact .contactBtnEn {
        display: none
    }

    .headerLogo {
        top: 25px;
        left: 13px;
        width: 128px
    }

    .footerNav {
        margin-inline: auto
    }

    .footerLogo {
        width: 100%;
        margin-bottom: 78px;
        text-align: center
    }

    .footerLogo img {
        width: 208px
    }

    .nav {
        top: 4px;
        right: 4px;
        width: calc(100% - 10px);
        max-width: 440px;
        padding: 115px 5.3333333333% 60px;
        border-radius: 26px
    }

    .navContents {
        padding-left: 4%
    }

    .navList {
        grid-template-columns: 130px auto;
        gap: 20px
    }

    .navText {
        display: flex;
        row-gap: 5px;
        flex-direction: column-reverse
    }

    .navTextEn {
        color: rgba(255, 255, 255, .5);
        font-size: 1rem
    }

    .navTextJa {
        font-size: 1.7rem;
        letter-spacing: .1em
    }

    .navBg {
        top: 0;
        right: 0;
        left: 0;
        border-radius: 26px
    }

    .navBg::after {
        transform: translate(150px, 0) rotate(10deg) scale(1.5, 0);
        transform-origin: 100% 0;
        transition: transform 1.25s cubic-bezier(0.86, 0, 0.07, 1)
    }

    .navTrigger,
    .navLoading {
        top: 12px;
        right: 12px;
        width: 51px;
        height: 41px
    }

    .navTriggerBarWrap {
        width: 18px
    }

    .is-transitioning .headerContact {
        right: 12px;
        width: 51px
    }

    .is-transitioning .navBg {
        top: 0;
        right: 0;
        bottom: calc(100% - 58px);
        left: calc(100% - 68px)
    }

    .contactBtn .btnNromalContent,
    .contactBtn .btnHoverContent {
        width: 146px;
        height: 40px
    }

    .contactBtn {
        width: 146px;
        height: 40px
    }

    .contactBtnJa {
        font-size: 1rem
    }

    .monthlyArchiveTerm br {
        display: none
    }
}

@media screen and (max-width: 799px) {
    .footerNav {
        flex-wrap: wrap;
        justify-content: center
    }

    .footerNav .footerNavNotNarrow {
        display: none
    }

    .footerNavList {
        grid-template-columns: repeat(2, auto)
    }

    .footerNavBtnWrap {
        display: flex;
        column-gap: 21px;
        align-items: center;
        justify-content: center;
        width: 100%;
        text-align: center
    }

    .footerNavNarrowLink {
        display: flex;
        column-gap: 1em;
        margin-block: 43px 40px
    }

    .footerNavNarrowLink a {
        color: #fff;
        font-size: 1rem;
        letter-spacing: .06em
    }

    .homeLogoScroll.is-scrolled {
        top: 55px
    }
}

@media screen and (max-width: 768px) {
    .spMb0 {
        margin-bottom: 0
    }

    .spMb5 {
        margin-bottom: 5px
    }

    .spMb10 {
        margin-bottom: 10px
    }

    .spMb12 {
        margin-bottom: 12px
    }

    .spMb15 {
        margin-bottom: 15px
    }

    .spMb20 {
        margin-bottom: 20px
    }

    .spMb25 {
        margin-bottom: 25px
    }

    .spMb30 {
        margin-bottom: 30px
    }

    .spMb35 {
        margin-bottom: 35px
    }

    .spMb40 {
        margin-bottom: 40px
    }

    .spMb45 {
        margin-bottom: 45px
    }

    .spMb50 {
        margin-bottom: 50px
    }

    .spMb55 {
        margin-bottom: 55px
    }

    .spMb60 {
        margin-bottom: 60px
    }

    .spMb65 {
        margin-bottom: 65px
    }

    .spMb70 {
        margin-bottom: 70px
    }

    .spMb80 {
        margin-bottom: 80px
    }

    .spMb90 {
        margin-bottom: 90px
    }

    .spMb100 {
        margin-bottom: 100px
    }

    .spMb120 {
        margin-bottom: 120px
    }

    .spMb150 {
        margin-bottom: 150px
    }

    .spMb170 {
        margin-bottom: 170px
    }

    .spMb200 {
        margin-bottom: 200px
    }

    .spPt100 {
        padding-top: 100px
    }

    .spPt200 {
        padding-top: 200px
    }

    .spPb100 {
        padding-bottom: 100px
    }

    .spPb120 {
        padding-bottom: 120px
    }

    .spTfY0 {
        transform: translateY(0px)
    }

    .spTfY3 {
        transform: translateY(3px)
    }

    .spTfY5 {
        transform: translateY(5px)
    }

    .spTfY10 {
        transform: translateY(10px)
    }

    .spTfY-5 {
        transform: translateY(-5px)
    }

    .spTfY-10 {
        transform: translateY(-10px)
    }

    .spFs10 {
        font-size: 1rem
    }

    .spFs11 {
        font-size: 1.1rem
    }

    .spFs12 {
        font-size: 1.2rem
    }

    .spFs13 {
        font-size: 1.3rem
    }

    .spFs14 {
        font-size: 1.4rem
    }

    .spFs15 {
        font-size: 1.5rem
    }

    .spFs16 {
        font-size: 1.6rem
    }

    .spFs17 {
        font-size: 1.7rem
    }

    .spFs18 {
        font-size: 1.8rem
    }

    .spFs20 {
        font-size: 2rem
    }

    .spFs22 {
        font-size: 2.2rem
    }

    .spFs24 {
        font-size: 2.4rem
    }

    .spFs25 {
        font-size: 2.5rem
    }

    .spFs30 {
        font-size: 3rem
    }

    .spFs42 {
        font-size: 4.2rem
    }

    .spLs01 {
        letter-spacing: .01em
    }

    .spLs12 {
        letter-spacing: .12em
    }

    .spLs20 {
        letter-spacing: .2em
    }

    .spLh20 {
        line-height: 2
    }

    ol.numberList li::before {
        font-size: 1.4rem
    }

    .displayNotNarrow {
        display: none
    }

    .displayNarrow {
        display: inherit
    }

    .narrowTxtLeft {
        text-align: left
    }

    .narrowTxtCenter {
        text-align: center
    }

    .l-contents {
        padding-bottom: 120px
    }

    .l-inner {
        padding-inline: 7.2vw
    }

    .headerInfo {
        top: 12px;
        left: 12px
    }

    .headerCopy {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        transform: translateY(-50%);
        text-align: center
    }

    .footer {
        padding-top: 140px;
        padding-bottom: 120px
    }

    .footer .l-footer {
        padding-inline: 9.3333333333vw
    }

    .footerContents {
        padding-bottom: 150px
    }

    .footerContentsInfo {
        margin-bottom: 30px
    }

    .footerContentsTerm {
        margin-bottom: 15px
    }

    .footerContact,
    .footerAbout {
        padding-inline: 9.3333333333vw
    }

    .footerContact {
        margin-bottom: 150px;
        padding-bottom: 150px
    }

    .footerAboutLink {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px
    }

    .footerAgent {
        margin-bottom: 150px;
        padding-inline: 9.3333333333vw;
        padding-block: 150px
    }

    .footerAgentTitle {
        margin-bottom: 45px
    }

    .footerAgentDataText {
        margin-bottom: 45px
    }

    .footerAgentDataImg {
        width: 160px
    }

    .footerCopyright {
        font-size: 1rem;
        text-align: center
    }

    .footerPageNotice {
        margin-top: 150px;
        padding-top: 100px;
        padding-inline: 7.2vw
    }

    .lowerPageMvTitle {
        top: 50%;
        left: 7.2vw;
        transform: translateY(-50%)
    }

    .lowerPageMvTitleJa {
        display: block
    }

    .navLoadingDot {
        width: 3px;
        height: 3px
    }

    .navTriggerBar:nth-of-type(1) {
        top: -4px
    }

    .navTriggerBar:nth-of-type(3) {
        top: 5px
    }

    .is-navOpen .navText {
        transition: transform 1.2s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.5s cubic-bezier(0.23, 1, 0.32, 1), color .5s;
        transition-delay: calc(var(--stagger)*.065s + .75s)
    }

    .pageNav {
        display: none
    }

    .cvModal {
        top: 4px;
        right: 4px;
        padding: 100px 42px
    }

    .cvModalContent:not(:first-child) {
        margin-top: 43px
    }

    .cvModalContentTerm {
        display: flex;
        column-gap: 12px;
        align-items: baseline;
        margin-bottom: 10px;
        font-size: 2.6rem
    }

    .cvModalContentTerm::after {
        display: block;
        width: 100%;
        height: 1px;
        background-color: #fff;
        content: ""
    }

    .cvModalContentLead {
        margin-bottom: 17px;
        font-size: 1.3rem;
        line-height: 1.5384615385
    }

    .cvModalContent .linkBtn,
    .cvModalContent .btnNromalContent,
    .cvModalContent .btnHoverContent {
        width: 280px;
        height: 56px
    }

    .cvModalContent .linkBtnText {
        font-size: 1.7rem
    }

    .cvModalBg {
        top: 0;
        right: 0;
        left: 0;
        border-radius: 26px
    }

    .cvModalBg::after {
        transform: translate(150px, 0) rotate(10deg) scale(1.5, 0);
        transform-origin: 100% 0;
        transition: transform 1.25s cubic-bezier(0.86, 0, 0.07, 1)
    }

    .is-cvModalOpen .cvModalContent {
        transition-delay: .8s
    }

    .sectionTitleJa.hasLpNarrow {
        padding-left: 5px
    }

    .pageTtlContents {
        bottom: -100px;
        left: 9.3333333333vw
    }

    .linkBtn,
    button.linkBtn,
    a.linkBtn {
        width: 232px
    }

    .linkBtn.longTextJa,
    button.linkBtn.longTextJa,
    a.linkBtn.longTextJa {
        width: 322px
    }

    .linkBtn.longTextJa .btnNromalContent,
    .linkBtn.longTextJa .btnHoverContent,
    button.linkBtn.longTextJa .btnNromalContent,
    button.linkBtn.longTextJa .btnHoverContent,
    a.linkBtn.longTextJa .btnNromalContent,
    a.linkBtn.longTextJa .btnHoverContent {
        width: 322px
    }

    .linkBtn .btnNromalContent,
    .linkBtn .btnHoverContent,
    button.linkBtn .btnNromalContent,
    button.linkBtn .btnHoverContent,
    a.linkBtn .btnNromalContent,
    a.linkBtn .btnHoverContent {
        min-width: 232px;
        padding-left: 25px
    }

    .is-home .homeLogoWrap {
        height: 100vw;
        padding-bottom: 20px
    }

    .homeLogoOverray {
        display: none
    }

    .homeIntro {
        display: none
    }

    .homeIntroduction {
        padding-top: 170px
    }

    .homeIntroductionMarquee {
        top: 56vw
    }

    .homeIntroductionCol {
        flex-direction: column-reverse
    }

    .homeIntroductionSholderText {
        display: none
    }

    .homeIntroductionSholderNarrow {
        margin-bottom: 65px;
        padding-left: 7.2vw;
        font-weight: 600;
        font-size: 1.5rem
    }

    .homeFeatureIntroMain {
        position: relative;
        margin-top: -50vw;
        margin-bottom: 30px
    }

    .homeFeatureIntroMainText {
        font-size: 1.5rem;
        line-height: 1.8666666667
    }

    .homeFeatureIntroTitle {
        margin-bottom: 40px;
        font-size: 2.5rem;
        line-height: 1.52
    }

    .homeFeatureIntroCont02 .homeIntroductionFan {
        bottom: 0;
        left: 0;
        width: 100%
    }

    .homeFeatureTitleJa {
        transform: translateY(-20px)
    }

    .homeFeatureLead {
        margin-bottom: -24px
    }

    .homeFeatureLeadCont01 {
        display: flex;
        align-items: flex-end;
        min-height: 375px;
        padding-inline: 7.2vw
    }

    .homeFeatureLeadCont02 {
        background-color: #eceaea
    }

    .homeFeatureLeadCont02Inner {
        padding-top: 50px;
        padding-bottom: 80px
    }

    .homeFeatureLeadCont02Text {
        max-width: 61.3333333333vw;
        margin-left: auto;
        font-size: 1.5rem
    }

    .homeFeatureLeadTitle {
        padding-left: 6.4vw;
        transform: translateY(25px)
    }

    .homeFeatureLeadTitle .homeFeatureTitleEn {
        display: block;
        margin-bottom: 15px;
        font-size: 5rem
    }

    .homeFeatureLeadTitle .homeFeatureTitleJa {
        display: block;
        position: static;
        padding-left: 5px;
        font-size: 2rem
    }

    .homeFeatureLead.homeIntroductionCol {
        display: block
    }

    .homeFeatureLead .homeIntroductionFan03 {
        z-index: -1;
        position: absolute;
        top: 0;
        width: 100%
    }

    .homeFeatureLeadSholderText {
        margin-bottom: 50px
    }

    .homeValue {
        margin-bottom: -24px
    }

    .homeValueSection {
        padding-block: 55px;
        border-radius: 30px
    }

    .homeValueSection:not(:last-child) {
        margin-bottom: 50px
    }

    .homeValueSectionCont {
        row-gap: 30px;
        flex-direction: column-reverse
    }

    .homeValueSectionCont01Lead {
        margin-bottom: 20px;
        font-weight: bold;
        font-size: 3rem;
        font-size: max(1.5625vw, 1.7rem);
        line-height: 1.5
    }

    .homeValueSectionCont01Text {
        margin-bottom: 36px
    }

    .homeValueSectionSholder {
        column-gap: 8px;
        align-items: baseline;
        font-size: .8rem
    }

    .homeValueSectionSholderNum {
        font-size: 1.9rem
    }

    .homeValueSectionTitle {
        margin-bottom: 20px
    }

    .homeFloorGuide {
        padding-top: 190px
    }

    .homeFloorGuideSlide02 {
        height: 206px;
        margin-top: 56px;
        background-image: url(../img/style3a11/01.webp);
        background-size: cover;
        background-repeat: repeat-x;
        animation-duration: 240s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
        animation-name: homeFloorGuideNarrowAnim
    }

    @keyframes homeFloorGuideNarrowAnim {
        0% {
            background-position-x: 0
        }

        100% {
            background-position-x: 500%
        }
    }

    .homeFloorGuideTitle .sectionTitleJa {
        margin-bottom: 1.6em
    }

    .homeFloorGuideTitle {
        padding-left: 6.4vw
    }

    .homeFloorGuideLead {
        max-width: 61.3333333333vw;
        margin-left: auto
    }

    .homeFloorGuideShadow {
        display: none
    }

    .homeFacilities {
        padding-block: 163px 170px
    }

    .homeFacilitiesCircle {
        display: flex;
        bottom: -42px;
        left: 0;
        column-gap: 36px;
        white-space: nowrap
    }

    .homeFacilitiesCircle .circleItem {
        display: inline-block;
        width: 163px
    }

    .homeFacilitiesTextItem {
        max-width: 61.3333333333vw;
        margin-bottom: 50px;
        margin-inline-start: auto
    }

    .homeFacilitiesTitle .sectionTitleJa .word {
        transform: translate(22px, -27px)
    }

    .homeFacilitiesTitle .sectionTitle {
        padding-left: 6.4vw
    }

    .homeFacilitiesTitle .sectionTitle>span {
        display: block
    }

    .homeFacilitiesSholderText {
        margin-bottom: 35px
    }

    .homeAccess {
        padding-block: 200px 168px
    }

    .homeAccessHeader {
        margin-bottom: 56px
    }

    .homeAccessSholderText {
        margin-bottom: 38px
    }

    .homeAccessTitle {
        margin-bottom: 40px;
        padding-left: 6.4vw
    }

    .homeAccessTitle>span {
        display: block
    }

    .homeAccessText .homeAccessTextWords {
        max-width: 61.3333333333vw;
        margin-left: auto;
        font-size: max(.78125vw, 1.3rem)
    }

    .homeAccessCont {
        overflow: hidden;
        border-radius: 50px
    }

    .homeAccessImg1,
    .homeAccessImg2 {
        aspect-ratio: 1/1
    }

    .homeAccessInfo {
        padding: 9.6vw 8vw 12.8vw
    }

    .homeAccessInfoTitle {
        display: flex;
        column-gap: 10px;
        flex-direction: row-reverse;
        align-items: flex-end;
        justify-content: flex-end
    }

    .homeAccessInfoTitleEn {
        font-size: max(3.2vw, 1.2rem)
    }

    .homeAccessInfoTitleJa {
        font-size: max(4vw, 1.5rem)
    }

    .homeAccessTrain:not(:last-child) {
        margin-bottom: 7px
    }

    .homeAccessBtn {
        text-align: center
    }

    .homeInfo {
        padding-block: 160px 168px
    }

    .homeInfoTitle {
        margin-bottom: 60px
    }

    .homeInfoTitleJa {
        padding-left: 5px
    }

    .homeInfoArticleList {
        margin-bottom: 36px
    }

    .homeFooterIntro {
        display: none
    }

    .accessLocationIntro {
        padding-bottom: 160px
    }

    .accessLocationIntroText {
        max-width: 61.3333333333vw
    }

    .accessLocationPlaceSectionStickyInner {
        padding-inline: 7.2%
    }

    .accessLocationPlaceSectionMarquee {
        top: 56vw
    }

    .accessLocationPlaceTimeText {
        width: 100%;
        font-size: 2.5rem;
        text-align: center
    }

    .accessLocationPlaceTimeTextSmallJa {
        font-size: 2rem
    }

    .accessLocationPlaceTimeTextNum {
        transform: translateY(5px);
        font-size: 5.4rem
    }

    .accessLocationPlaceTimeTextMin {
        font-size: 2.5rem
    }

    .accessLocationAddressContent {
        padding: 9.6vw 8vw 12.8vw
    }

    .accessLocationAddressContentTitle {
        display: flex;
        column-gap: 10px;
        flex-direction: row-reverse;
        align-items: flex-end;
        justify-content: flex-end
    }

    .accessLocationAddressContentTitleEn {
        font-size: max(3.2vw, 1.2rem)
    }

    .accessLocationAddressContentTitleJa {
        font-size: max(4vw, 1.5rem)
    }

    .accessLocationAddressContentTrain:not(:last-child) {
        margin-bottom: 7px
    }

    .accessLocationAddressContentBtn {
        text-align: center
    }

    .accessTraffic {
        padding-bottom: 160px
    }

    .accessTrafficIntro {
        padding-block: 168px 100px
    }

    .accessTrafficIntroText {
        max-width: 61.3333333333vw
    }

    .accessTrafficFigure {
        padding: 7.2vw 7.2vw 10.6666666667vw
    }

    .accessTrafficFigure .caption.onImg {
        bottom: 10px
    }

    .accessTrafficTimeText {
        right: 12px;
        bottom: 12px
    }

    .accessTrafficTimeTermJa {
        font-size: 1.9rem
    }

    .accessTrafficTimeData {
        transform: translateY(10px);
        font-size: 3.2rem
    }

    .accessTrafficTimeDataNum {
        font-size: 4.8rem
    }

    .accessTrafficTimeBg .caption.onImg.posBottomRight {
        right: auto;
        left: 10px
    }

    .newsPageHead {
        margin-bottom: 55px
    }

    .newsPageTitle {
        padding-top: 195px;
        padding-bottom: 155px
    }

    .newsPageTitleJa {
        padding-left: 5px
    }

    .newsPageBody {
        margin-bottom: 245px
    }

    .newsPageDetailHead {
        margin-bottom: 66px;
        padding-top: 232px;
        padding-bottom: 60px
    }

    .newsPageDetailTitle {
        margin-bottom: 20px
    }

    .newsPageDetailInfo {
        max-inline-size: 80px;
        margin-inline-start: auto;
        padding-top: 11px
    }

    .newsPageDetail .infoArticleCategory {
        width: 78px;
        height: 26px;
        font-size: 1.2rem
    }

    .newsPageDetail .infoArticleDate {
        margin-top: 5px
    }

    .newsPageDetail .newsPageBody {
        display: flex;
        flex-direction: column-reverse
    }

    .newsPageDetail .newsPageBodyMain {
        margin-bottom: 90px;
        padding-bottom: 90px;
        border-bottom: 1px solid #a5915a
    }

    .monthlyArchiveContent {
        display: flex;
        justify-content: space-between
    }

    .monthlyArchiveTerm {
        flex-shrink: 0;
        margin-bottom: 70px;
        font-size: 2rem
    }

    .infoArticleImg {
        margin-bottom: 29px
    }

    .hasIcon.infoArticle {
        padding-bottom: 40px
    }

    .hasIcon.infoArticle:not(:last-child) {
        margin-bottom: 54px
    }

    .hasIcon.infoArticle .infoArticleCont {
        position: relative;
        padding-right: 80px
    }

    .hasIcon.infoArticle .infoArticleDate {
        font-size: 1.4rem
    }

    .hasIcon.infoArticle .infoArticleIcon {
        width: 47px;
        height: 47px
    }

    .hasIcon.infoArticle .infoArticleCategory {
        width: 77px;
        height: 26px;
        font-size: 1.2rem
    }

    .faqPageMv {
        margin-bottom: 168px
    }

    .faqSection {
        margin-bottom: 130px
    }

    .faqSectionTitle {
        padding-bottom: 35px
    }

    .faqSectionTitleJa {
        margin-bottom: 10px;
        font-size: 3rem
    }

    .faqSectionTitleEn {
        font-size: 1.5rem
    }

    .faqSectionListItem {
        padding-top: 35px
    }

    .faqSectionListItem:not(:last-child) {
        margin-bottom: 35px
    }

    .faqSectionContentTerm {
        flex-wrap: wrap
    }

    .faqSectionContentTermNum {
        display: block;
        margin-bottom: 5px;
        color: rgba(60, 60, 60, .5);
        font-size: 2rem
    }

    .faqSectionContentTermText {
        font-size: 2.2rem
    }

    .faqSectionContentTermIcon {
        width: 50px;
        height: 50px
    }

    .faqSectionContentDataInner {
        padding-top: 30px;
        font-size: 1.5rem;
        line-height: 1.8
    }

    .brandSectionHeader,
    .brandSectionBody {
        padding-inline: 7.2vw
    }

    .brandSection .daibiruLogo {
        width: 321px
    }

    .brandSection .draftLogo {
        max-width: 261px
    }

    .brandSection .reqreeLogo {
        width: 197px
    }

    .brandSectionHeader {
        padding-top: 160px;
        padding-bottom: 90px
    }

    .brandSectionBody {
        padding-block: 85px 170px
    }

    .brandSectionBodyContentTitle {
        column-gap: 24px;
        flex-direction: row-reverse;
        width: -moz-fit-content;
        width: fit-content;
        margin-right: auto
    }

    .brandSectionBodyContentTitleEn {
        font-size: 1.5rem
    }

    .brandSectionTitleEn {
        display: none
    }

    .brandReqreeInfoTitle {
        font-size: 2rem
    }

    .serviceIntro {
        padding-bottom: 160px
    }

    .serviceIntro.l-inner {
        padding-inline: 0
    }

    .serviceContentsItem {
        padding: 80px 7.2vw
    }

    .serviceContentsItem:nth-child(odd) {
        background-color: #eceaea
    }

    .serviceContentsItem:nth-child(even) {
        background-color: #3c3c3c
    }

    .serviceContentsItem.longItemPosLeft {
        padding-inline: 0
    }

    .serviceContentsItem.longItemPosLeft .serviceContentsItemImg {
        aspect-ratio: unset
    }

    .serviceContentsItem.longItemPosLeft .serviceContentsItemMain {
        padding-inline: 7.2vw
    }

    .serviceContentsItem.longItemPosLeft .imgSecurity {
        display: block;
        overflow-x: scroll
    }

    .serviceContentsItem.longItemPosLeft .imgSecurity img {
        width: 580px;
        max-width: initial
    }

    .serviceContentsItemImg {
        margin-bottom: 20px
    }

    .serviceContentsItemImgInner.imgSecurity {
        padding-inline: 7.2vw
    }

    .serviceContentsItemTitle>br {
        display: none
    }

    .planPageNav {
        display: none
    }

    .planIntro {
        padding-bottom: 170px
    }

    .planDetail {
        padding-top: 170px
    }

    .planDetailTitle {
        margin-bottom: 30px
    }

    .planDetailTitleJa {
        font-size: 4.5rem
    }

    .planDetailTitleEn {
        font-size: max(3.7333333333vw, 1.4rem)
    }

    .planDetailLead {
        margin-bottom: 88px
    }

    .planDetailInfo {
        overflow: hidden;
        border: 1px solid #3c3c3c;
        border-radius: 10px
    }

    .planDetailInfoFeatureInner {
        padding-block: 15px;
        text-align: center
    }

    .planDetailInfoFeatureTerm {
        margin-bottom: 5px;
        font-size: 1.5rem
    }

    .planDetailInfoFeatureData {
        font-size: 1.8rem
    }

    .privatePlan {
        padding-top: 140px
    }

    .privatePlan .planDetailInfoFeature {
        background-color: #f3f1f1
    }

    .privatePlanHeader {
        margin-bottom: 88px
    }

    .privatePlanImgCaption {
        top: 4px;
        left: 4px;
        min-height: 38px
    }

    .loungePlan {
        padding-top: 170px
    }

    .loungePlanInfo {
        max-width: 664px;
        margin-left: auto
    }

    .loungePlanDetail {
        padding-top: 25px
    }

    .loungePlanDetail:not(:last-child) {
        margin-bottom: 60px
    }

    .planService {
        margin-bottom: 170px;
        padding-top: 155px
    }

    .planServiceIntroTitle {
        padding-left: 7.2vw
    }

    .planServiceIntroTitleJa {
        display: block;
        margin-top: 10px;
        padding-left: 5px
    }

    .planServiceIntroText {
        max-width: 61.3333333333vw;
        margin-bottom: 60px;
        margin-left: auto
    }

    .planServiceDetail:not(:last-child) {
        margin-bottom: 60px
    }

    .planContract {
        padding-block: 170px
    }

    .planContractIntro {
        margin-bottom: 160px
    }

    .planContractIntroTitle {
        margin-bottom: 30px;
        padding-left: 7.2vw
    }

    .planContractIntroTitle br {
        display: none
    }

    .planContractIntroTitleJa {
        display: block;
        padding-left: 5px
    }

    .planContractIntroText {
        max-width: 61.3333333333vw;
        margin-left: auto
    }

    .planContractFlowNum {
        padding-right: 5.3333333333vw
    }

    .planContractFlowDetail {
        padding-left: 8vw
    }

    .planContractFlowTerm {
        margin-bottom: 1em
    }

    .planOther {
        padding-block: 170px 250px
    }

    .planOtherSection {
        padding-top: 25px
    }

    .planOtherSection:not(:last-child) {
        margin-bottom: 240px
    }

    .planOtherSectionTitleJa {
        display: block;
        font-size: 4.5rem
    }

    .planOtherTable thead th {
        white-space: nowrap
    }

    .planOtherTable th,
    .planOtherTable td {
        font-size: 1.5rem
    }

    .planOtherTable.cpme tbody tr {
        border: none
    }

    .planOtherTable.cpme tbody tr>th {
        position: sticky;
        left: 0;
        background-color: #fff;
        font-size: 1.5rem
    }

    .planOtherTable.cpme tbody tr>th::before {
        z-index: 2;
        position: absolute;
        top: 0;
        right: -1px;
        bottom: 0;
        width: 1px;
        background-color: rgba(63, 63, 63, .2);
        content: ""
    }

    .planOtherTable.cpme tbody tr>th::after {
        z-index: 2;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        height: 1px;
        background-color: rgba(63, 63, 63, .2);
        content: ""
    }

    .planOtherTable.cpme {
        border: none
    }

    .planOtherTable.cpme th,
    .planOtherTable.cpme td {
        white-space: nowrap
    }

    .planOtherTable.cpme th.cpmeStickey {
        position: sticky;
        left: 0;
        border-right: none;
        background-color: #eceaea
    }

    .planOtherTable.cpme th.cpmeStickey::before {
        z-index: 2;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 1px;
        background-color: rgba(63, 63, 63, .2);
        content: ""
    }

    .planOther .cpmeTableWrap {
        overflow-x: auto;
        border: 1px solid #3f3f3f
    }

    .aboutMessageLead {
        text-align: left
    }

    .aboutIntro {
        padding-block: 170px 165px
    }

    .aboutIntroTitle {
        padding-left: 7.2vw
    }

    .aboutIntroTitleJa {
        display: block;
        margin-top: 10px;
        padding-left: 5px
    }

    .aboutIntroText {
        max-width: 61.3333333333vw;
        margin-left: auto
    }

    .aboutFeatureLead {
        padding-left: 10.6666666667vw
    }

    .aboutFeatureLeadSub {
        font-size: 1.3rem
    }

    .aboutShareoffice {
        margin-bottom: 100px
    }

    .aboutShareofficeImg {
        aspect-ratio: 1/1;
        margin-bottom: 100px
    }

    .aboutLocation .aboutFeatureLead {
        margin-bottom: 42px
    }

    .aboutLocationImg {
        aspect-ratio: 75/109;
        margin-bottom: 100px
    }

    .aboutLocationImgItem {
        left: 0
    }

    .aboutBuilding {
        padding-top: 170px
    }

    .aboutBuildingContents {
        padding-block: 100px 50px
    }

    .aboutBuildingElevationImg .caption.onImg {
        right: -4.5333333333vw;
        bottom: 10px
    }

    .aboutGallery {
        padding-top: 7.2vw;
        padding-bottom: 250px;
        padding-left: 7.2vw
    }

    .aboutGalleryItemWide {
        margin-bottom: 7.2vw
    }

    .aboutGalleryColWrap {
        padding-right: 7.2vw
    }

    .aboutGalleryItem.item2 {
        margin-bottom: 7.2vw
    }

    .fgFeatureIntro {
        padding-block: 170px 165px
    }

    .fgFeatureIntroTitle {
        padding-left: 7.2vw
    }

    .fgFeatureIntroTitleJa {
        display: block;
        padding-left: 5px
    }

    .fgFeatureIntroText {
        max-width: 61.3333333333vw;
        margin-left: auto
    }

    .fgMapNav {
        padding: 26px 2.6666666667vw 16px
    }

    .fgMapNav .caption.onImg.posBottomRight {
        right: 0;
        bottom: -5px
    }

    .fgMapContents {
        contain: paint;
        padding: 25px 7.2vw 66px;
        background-color: #fff
    }

    .fgMapContents .swiper {
        overflow: visible
    }

    .fgMapContents .swiper .swiper-slide {
        height: auto;
        background-color: #e3e1e1
    }

    .fgMapDetailHead {
        column-gap: 9px;
        margin-bottom: 15px
    }

    .fgMapDetailTitleEn {
        padding-top: 5px;
        font-size: 1.2rem
    }

    .fgMapDetailTitleJa {
        font-size: 2.2rem
    }

    .fgMapMouseStoker {
        display: none
    }

    .fgVrInner {
        padding: 80px 25px 45px;
        border-radius: 30px
    }

    .fgVrTitleSub {
        top: 35px;
        left: 25px
    }

    .fgVrImg {
        display: none
    }

    .fgDesignConceptBody {
        padding-top: 320px
    }

    .fgDesignConceptBodyInner {
        padding-inline: 7.2vw
    }

    .fgDesignConceptThemeTerm {
        font-size: 1.4rem
    }

    .fgDesignConceptThemeLead {
        font-size: 1.3rem
    }

    .fgDesignConceptCompany {
        text-align: center
    }

    .fgDesignConceptCompanyTerm {
        padding-block: 10px 15px;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
        line-height: 1
    }

    .fgDesignConceptCompanyData {
        padding-block: 20px
    }

    .fgDesignConceptImg {
        display: none
    }
}

@media screen and (max-width: 768px)and (min-width: 375px) {
    .accessLocationAddressContentTitle [id=fgPrivate] .fgFeatureIntro .word:last-child {
        margin-top: -8px
    }
}

@media(max-width: 767.98px) {

    .is-navOpen .navBg::before,
    .is-navOpen .navBg::after {
        transform: translateX(0) rotate(0) scale(1.5, 1);
        transition: transform 1.7s cubic-bezier(0.86, 0, 0.07, 1)
    }

    .is-navOpen .navBg::before {
        transition-delay: 0s
    }

    .is-navOpen .navBg::after {
        transition-delay: .05s
    }

    .is-cvModalOpen .cvModalBg::after {
        transform: translateX(0) rotate(0) scale(1.5, 1);
        transition: transform 1.7s cubic-bezier(0.86, 0, 0.07, 1)
    }
}

@media screen and (max-width: 599px) {
    .displaySp {
        display: inherit
    }

    .displayNotSp {
        display: none
    }

    .privatePlanImg .multiple {
        margin-bottom: 5px
    }

    .fgVrTitleMain {
        max-width: 265px
    }
}

@media screen and (max-width: 540px) {
    .homeFeatureLeadCont02 {
        background-color: #eceaea
    }
}

@media(max-width: 500px) {
    .planContractIntroTitleEn .word:last-child {
        margin-top: -0.2em
    }
}

@media(max-width: 465px) {
    .accessTrafficIntro .word:last-child {
        margin-top: -0.3em
    }
}

@media screen and (max-width: 400px) {
    .homeFacilitiesTitle .sectionTitleEn .word:last-child {
        transform: translateY(-0.25em);
        transform: translateY(-0.55em)
    }

    .homeFacilitiesTitle .sectionTitleEn .word:nth-child(3) {
        transform: translateY(-0.3em)
    }

    .homeFacilitiesTitle .sectionTitleJa .word {
        transform: translate(1em, -2em)
    }

    .aboutIntroTitleEn .word:last-child {
        transform: translateY(-0.2em)
    }

    .aboutIntroTitleJa {
        margin-top: 0
    }

    [id=fgLounge] .fgFeatureIntro .word:last-child {
        margin-top: -0.2em
    }

    [id=fgPrivate] .fgFeatureIntro .word:last-child {
        margin-top: -0.2em
    }
}

@media(any-hover: hover) {
    .headerLogoFigure {
        transition: all .3s ease-in-out
    }

    .headerLogoText {
        -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
        transition: all .3s ease-in-out
    }

    .headerLogo.is-scrolled .headerLogoFigure {
        translate: 64%
    }

    .headerLogo.is-scrolled .headerLogoText {
        translate: -55%;
        -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
        clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%)
    }

    .headerLogo.is-scrolled>a:hover .headerLogoFigure {
        translate: 0
    }

    .headerLogo.is-scrolled>a:hover .headerLogoText {
        translate: 0;
        -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
    }

    .footerContactMail {
        pointer-events: none
    }

    .footerNavLink {
        transition: color 300ms ease-in-out
    }

    .footerNavLink:hover {
        color: #a5915a
    }

    .navText:hover .navTextItem span {
        transform: translateY(110%)
    }

    .navText:hover .navTextItem span::before {
        transform: translateY(-110%)
    }

    .linkBtn.ghostWhite.btnHasHoverAnim:hover,
    button.linkBtn.ghostWhite.btnHasHoverAnim:hover,
    a.linkBtn.ghostWhite.btnHasHoverAnim:hover {
        border-color: #3c3c3c
    }

    .btnHasHoverAnim:hover .btnHoverContent {
        -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
    }

    .homeLogoScroll.is-scrolled .homeLogoFigure {
        translate: 64%;
        transition: all .3s ease-in-out
    }

    .homeLogoScroll.is-scrolled .homeLogoText {
        translate: -55%;
        -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
        clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%)
    }

    .homeLogoScroll.is-scrolled .homeLogoLink:hover .homeLogoFigure {
        translate: 0
    }

    .homeLogoScroll.is-scrolled .homeLogoLink:hover .homeLogoText {
        translate: 0;
        -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
    }

    .homeFooterIntroWords .homeFooterIntroWord {
        transition: color 200ms ease-in-out
    }

    .homeFooterIntroWords .homeFooterIntroWord:hover {
        color: #a5915a
    }

    .fgMapMouseStoker {
        transition: opacity 300ms ease-in-out
    }

    .fgMapContents:hover .fgMapMouseStoker {
        opacity: 1
    }

    .fgVr .fgVrImgLink {
        transition: background-color .325s ease-in-out
    }

    .fgVr .fgVrImgLinkTextInner {
        transition: transform .325s cubic-bezier(0.23, 1, 0.32, 1) .1s
    }

    .fgVr .fgVrImgBase>img {
        transition: scale .325s ease-in-out
    }

    .fgVr .fgVrImg:hover .fgVrImgLink {
        background-color: rgba(0, 0, 0, .7)
    }

    .fgVr .fgVrImg:hover .fgVrImgLinkTextInner {
        transform: translateY(0%)
    }

    .fgVr .fgVrImg:hover .fgVrImgBase>img {
        scale: 1.1
    }
}

@media(hover: hover) {
    .monthlyArchiveItem:hover {
        color: #a5915a
    }

    .monthlyArchiveItem:hover::before {
        background-color: #a5915a
    }

    .infoArticle:hover .infoArticleTitle {
        color: #a5915a
    }

    .hasIcon.infoArticle:hover .infoArticleIcon::after {
        -webkit-clip-path: circle(50% at 50% 50%);
        clip-path: circle(50% at 50% 50%)
    }
}


select {
    border-color: #000;
    box-shadow: 0 0 5px #000;
}

select:focus {
    border-color: #000;
    box-shadow: 0 0 5px #000;
}