@import 'https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap';

:root {
    --breackpoint-sm: 64rem;
    --breackpoint-md: 76.8rem;
    --breackpoint-lg: 102.4rem;
    --breackpoint-xl: 136.6rem;
    --breackpoint-xxl: 150rem;
    --inner-slim: 98rem;
    --inner-base: 120rem;
    --inner-wide: 136rem;
    --header-height: 5.6rem;
    --font-family-body: "Zen Kaku Gothic New", sans-serif;
    --font-size-body: 1.6rem;
    --color-text-body: #333;
    --line-height-body: 2;
    --color-aqua: #5aa1d8;
    --color-aqua-rgb: 90 161 216;
    --bg-grey: #fafafa;
    --gutter: 4.266666vw;
    --menu-btn-width: 8.8rem
}

@media (min-width: 1024px) {
    :root {
        --gutter: 3rem;
        --header-height: 7.2rem
    }
}

*, *::before, *::after {
    box-sizing: border-box
}

html {
    font-size: .625em;
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd, ul, ol {
    margin: 0
}

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

body {
    min-height: 100vh
}

a {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto
}

picture {
    display: block;
    max-width: 100%
}

input, button, textarea, select {
    font: inherit
}

button {
    width: 100%;
    background-color: inherit;
    border: none;
    border-radius: 0;
    font: inherit
}

:target {
    scroll-margin-block: 5ex
}

/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
    --pswp-bg: #000;
    --pswp-placeholder-bg: #222;
    --pswp-root-z-index: 100000;
    --pswp-preloader-color: rgb(79 79 79 / 40%);
    --pswp-preloader-color-secondary: rgb(255 255 255 / 90%);
    --pswp-icon-color: #fff;
    --pswp-icon-color-secondary: #4f4f4f;
    --pswp-icon-stroke-color: #4f4f4f;
    --pswp-icon-stroke-width: 0.2rem;
    --pswp-error-text-color: var(--pswp-icon-color)
}

.pswp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--pswp-root-z-index);
    width: 100%;
    height: 100%;
    opacity: .003;
    outline: 0;
    touch-action: none;
    contain: layout style size;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.pswp:focus {
    outline: 0
}

.pswp * {
    box-sizing: border-box
}

.pswp img {
    max-width: none
}

.pswp--open {
    display: block
}

.pswp, .pswp__bg {
    transform: translateZ(0);
    will-change: opacity
}

.pswp__bg {
    background: var(--pswp-bg);
    opacity: .005
}

.pswp, .pswp__scroll-wrap {
    overflow: hidden
}

.pswp__bg, .pswp__container, .pswp__content, .pswp__img, .pswp__item, .pswp__scroll-wrap, .pswp__zoom-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.pswp__img, .pswp__zoom-wrap {
    width: auto;
    height: auto
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
    cursor: zoom-in
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
    cursor: move;
    cursor: grab;
    cursor: grab;
    cursor: grab
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
    cursor: grabbing
}

.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img, .pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active, .pswp__img {
    cursor: zoom-out
}

.pswp__button, .pswp__container, .pswp__counter, .pswp__img {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.pswp__item {
    z-index: 1;
    overflow: hidden
}

.pswp__hidden {
    display: none !important
}

.pswp__content {
    pointer-events: none
}

.pswp__content > * {
    pointer-events: auto
}

.pswp__error-msg-container {
    display: grid
}

.pswp__error-msg {
    margin: auto;
    font-size: 1em;
    color: var(--pswp-error-text-color);
    line-height: 1
}

.pswp .pswp__hide-on-close {
    z-index: 10;
    opacity: .005;
    transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
    will-change: opacity;
    pointer-events: none
}

.pswp--ui-visible .pswp__hide-on-close {
    opacity: 1;
    pointer-events: auto
}

.pswp__button {
    display: block;
    position: relative;
    width: 5rem;
    height: 6rem;
    padding: 0;
    margin: 0;
    background: 0 0;
    border: 0;
    box-shadow: none;
    overflow: hidden;
    opacity: .85;
    -webkit-appearance: none;
    cursor: pointer;
    -webkit-touch-callout: none
}

.pswp__button:active, .pswp__button:focus, .pswp__button:hover {
    padding: 0;
    background: 0 0;
    border: 0;
    box-shadow: none;
    opacity: 1;
    transition: none
}

.pswp__button:disabled {
    opacity: .3;
    cursor: auto
}

.pswp__icn {
    color: var(--pswp-icon-color-secondary);
    fill: var(--pswp-icon-color)
}

.pswp__icn {
    position: absolute;
    top: 1.4rem;
    left: 0.9rem;
    width: 3.2rem;
    height: 3.2rem;
    overflow: hidden;
    pointer-events: none
}

.pswp__icn-shadow {
    fill: none;
    stroke: var(--pswp-icon-stroke-color);
    stroke-width: var(--pswp-icon-stroke-width)
}

.pswp__icn:focus {
    outline: 0
}

.pswp__img--with-bg, div.pswp__img--placeholder {
    background: var(--pswp-placeholder-bg)
}

.pswp__top-bar {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    flex-direction: row;
    justify-content: flex-end;
    width: 100%;
    height: 6rem;
    pointer-events: none !important
}

.pswp__top-bar > * {
    will-change: opacity;
    pointer-events: auto
}

.pswp__button--close {
    margin-right: 0.6rem
}

.pswp__button--arrow {
    position: absolute;
    top: 0;
    top: 50%;
    width: 7.5rem;
    height: 10rem;
    margin-top: -5rem
}

.pswp__button--arrow:disabled {
    display: none;
    cursor: default
}

.pswp__button--arrow .pswp__icn {
    top: 50%;
    width: 6rem;
    height: 6rem;
    margin-top: -3rem;
    background: 0 0;
    border-radius: 0
}

.pswp--one-slide .pswp__button--arrow {
    display: none
}

.pswp--touch .pswp__button--arrow {
    visibility: hidden
}

.pswp--has_mouse .pswp__button--arrow {
    visibility: visible
}

.pswp__button--arrow--prev {
    left: 0;
    right: auto
}

.pswp__button--arrow--next {
    right: 0
}

.pswp__button--arrow--next .pswp__icn {
    left: auto;
    right: 1.4rem;
    transform: scale(-1, 1)
}

.pswp__button--zoom {
    display: none
}

.pswp--zoom-allowed .pswp__button--zoom {
    display: block
}

.pswp--zoomed-in .pswp__zoom-icn-bar-v {
    display: none
}

.pswp__preloader {
    position: relative;
    width: 5rem;
    height: 6rem;
    margin-right: auto;
    overflow: hidden
}

.pswp__preloader .pswp__icn {
    opacity: 0;
    animation: pswp-clockwise .6s linear infinite;
    transition: opacity .2s linear
}

.pswp__preloader--active .pswp__icn {
    opacity: .85
}

@keyframes pswp-clockwise {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

.pswp__counter {
    height: 3rem;
    margin-top: 1.5rem;
    opacity: .85;
    font-size: 1.4rem;
    color: var(--pswp-icon-color);
    text-shadow: 0.1rem 0.1rem 0.3rem var(--pswp-icon-color-secondary);
    line-height: 3rem;
    -webkit-margin-start: 2rem;
    margin-inline-start: 2rem
}

.pswp--one-slide .pswp__counter {
    display: none
}

[data-simplebar] {
    position: relative;
    flex-flow: column wrap;
    place-content: flex-start flex-start;
    align-items: flex-start
}

.simplebar-wrapper {
    width: inherit;
    height: inherit;
    max-width: inherit;
    max-height: inherit;
    overflow: hidden
}

.simplebar-mask {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: auto !important;
    height: auto !important;
    padding: 0;
    margin: 0;
    overflow: hidden;
    direction: inherit
}

.simplebar-offset {
    position: absolute;
    inset: 0;
    box-sizing: inherit !important;
    padding: 0;
    margin: 0;
    resize: none !important;
    direction: inherit !important;
    -webkit-overflow-scrolling: touch
}

.simplebar-content-wrapper {
    display: block;
    position: relative;
    width: auto;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    box-sizing: border-box !important;
    direction: inherit;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.simplebar-content-wrapper::-webkit-scrollbar, .simplebar-hide-scrollbar::-webkit-scrollbar {
    width: 0;
    height: 0
}

.simplebar-content::after, .simplebar-content::before {
    content: " ";
    display: table
}

.simplebar-placeholder {
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    pointer-events: none
}

.simplebar-height-auto-observer-wrapper {
    position: relative;
    z-index: -1;
    float: left;
    flex-basis: 0;
    flex-grow: inherit;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    max-width: 0.1rem;
    max-height: 0.1rem;
    box-sizing: inherit !important;
    padding: 0;
    margin: 0;
    overflow: hidden;
    pointer-events: none
}

.simplebar-height-auto-observer {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 1000%;
    height: 1000%;
    min-width: 0.1rem;
    min-height: 0.1rem;
    box-sizing: inherit;
    overflow: hidden;
    opacity: 0;
    pointer-events: none
}

.simplebar-track {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none
}

[data-simplebar].simplebar-dragging .simplebar-content {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

[data-simplebar].simplebar-dragging .simplebar-track {
    pointer-events: all
}

.simplebar-scrollbar {
    position: absolute;
    left: 0;
    right: 0;
    min-height: 1rem
}

.simplebar-scrollbar::before {
    content: "";
    position: absolute;
    left: 0.2rem;
    right: 0.2rem;
    background: #000;
    border-radius: 7px;
    opacity: 0;
    transition: opacity .2s linear
}

.simplebar-scrollbar.simplebar-visible::before {
    opacity: .5;
    transition: opacity 0s linear
}

.simplebar-track.simplebar-vertical {
    top: 0;
    width: 1.1rem
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar::before {
    top: 0.2rem;
    bottom: 0.2rem
}

.simplebar-track.simplebar-horizontal {
    left: 0;
    height: 1.1rem
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar::before {
    left: 0.2rem;
    right: 0.2rem;
    height: 100%
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
    top: 0.2rem;
    left: 0;
    right: auto;
    width: auto;
    height: 0.7rem;
    min-width: 1rem;
    min-height: 0
}

[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical {
    left: 0;
    right: auto
}

.hs-dummy-scrollbar-size {
    position: fixed;
    width: 50rem;
    height: 50rem;
    overflow: scroll hidden;
    opacity: 0;
    visibility: hidden;
    direction: rtl
}

.simplebar-hide-scrollbar {
    position: fixed;
    left: 0;
    overflow-y: scroll;
    visibility: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none
}

@font-face {
    font-family: swiper-icons;
    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")
}

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

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

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

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

.swiper-wrapper {
    display: flex;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    box-sizing: content-box;
    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(0, 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 {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 120rem
}

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

.swiper-3d {
    perspective: 120rem
}

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

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

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

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

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

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

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

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

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

.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 {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    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: 0.1rem
}

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

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

.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 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(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 {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    width: 4.2rem;
    height: 4.2rem;
    box-sizing: border-box;
    margin-top: -2.1rem;
    margin-left: -2.1rem;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    transform-origin: 50%;
    border-top-color: rgba(0, 0, 0, 0)
}

.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 {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none
}

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

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

:root {
    --swiper-navigation-size: 4.4rem
}

.swiper-button-next, .swiper-button-prev {
    display: flex;
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    z-index: 10;
    justify-content: center;
    align-items: center;
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0 - 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 {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    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 {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

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

.swiper-button-lock {
    display: none
}

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

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

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

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

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

.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);
    left: 0;
    bottom: var(--swiper-pagination-bottom, 8px);
    width: 100%
}

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

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

.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));
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2)
}

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

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

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

.swiper-pagination-bullet-active {
    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%;
    left: var(--swiper-pagination-left, auto);
    right: var(--swiper-pagination-right, 8px);
    transform: translate3d(0, -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%;
    transform: translateY(-50%);
    width: 0.8rem
}

.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%;
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    transform: scale(0);
    transform-origin: left top
}

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

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-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;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    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 {
    position: absolute;
    top: var(--swiper-scrollbar-top, auto);
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    z-index: 50;
    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 {
    position: absolute;
    top: var(--swiper-scrollbar-sides-offset, 1%);
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    z-index: 50;
    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%;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px)
}

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

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    display: flex;
    justify-content: center;
    align-items: 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 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1000;
    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-flow: column wrap
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    transition-property: opacity;
    pointer-events: none
}

.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 {
    z-index: 1;
    width: 100%;
    height: 100%;
    visibility: hidden;
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform-origin: 0 0
}

.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 {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    opacity: .6
}

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

.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 {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-flip {
    overflow: visible
}

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

.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 {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

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

.swiper-cards {
    overflow: visible
}

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

body {
    font: var(--font-size-body)/var(--line-height-body) var(--font-family-body);
    color: var(--color-text-body)
}

* {
    font-family: var(--font-family-body);
    font-size: var(--font-size-body)
}

input, select, option, textarea, button {
    box-sizing: border-box;
    font: var(--font-size-body)/var(--line-height-body) var(--font-family-body);
    color: var(--color-text-body)
}

img {
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
    image-rendering: smooth
}

svg {
    width: 100%
}

:where(button,[type=button],[type=reset],[type=submit]) {
    touch-action: manipulation
}

:where(:any-link,button,[type=button],[type=reset],[type=submit],label[for],select,summary,[role=tab],[role=button]) {
    cursor: pointer
}

:focus:not(:focus-visible) {
    outline: none
}

i:has(>svg) {
    line-height: 0
}

a:not([class]) {
    color: inherit
}

a[href^="tel:"] {
    color: inherit;
    text-decoration: none
}

input, textarea {
    padding: 0;
    margin: 0;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}
input[type="checkbox"],input[type="radio"]{
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto
}

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

select {
    padding: 0;
    margin: 0
}

*:has(>wbr) {
    white-space: pre-wrap;
    word-break: keep-all
}

@media (min-width: 640px) {
    .hide-sm-up {
        display: none
    }
}

@media (min-width: 1024px) {
    .hide-pc {
        display: none
    }
}

@media (max-width: 1023.98px) {
    .hide-mobile {
        display: none
    }
}

@media (max-width: 639.98px) {
    .hide-sm-down {
        display: none
    }
}

.about {
    padding-top: 3.2rem
}

.about__main {
    padding-top: 3.6rem
}

@media (min-width: 768px) {
    .about__main::after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        clear: both
    }

    .about__desc {
        float: left;
        width: 50%
    }

    .about__img01 {
        float: right;
        width: 49.3333%;
        margin-top: 2.85%;
        margin-right: -4.6666%
    }

    .about__img02 {
        float: left;
        width: 54.666666666%;
        margin-top: 5%;
        margin-left: -4.6666%
    }

    .about__img03 {
        float: right;
        width: 36.6666%;
        margin-top: 5.3%;
        margin-right: 8%
    }
}

@media (min-width: 1024px) {
    .about {
        padding-top: 4.2rem
    }

    .about__main {
        padding-top: 5.2rem
    }
}

@media (max-width: 767.98px) {
    .about__main {
        display: grid;
        grid-template-columns:50fr 60fr
    }

    .about__desc {
        grid-column: span 2;
        grid-row: 1/span 1;
        padding-bottom: 2.4rem
    }

    .about__img01 {
        grid-column: 1/span 1;
        grid-row: 2/span 1
    }

    .about__img02 {
        grid-column: 1/span 1;
        grid-row: 3/span 1;
        padding: 2.4rem 0 0
    }

    .about__img03 {
        grid-column: 2/span 1;
        grid-row: 2/span 2;
        padding: 2.4rem 0 0 1.6rem
    }
}

.btn-menu {
    display: flex;
    align-items: center;
    gap: 0 1.4rem;
    padding: 0
}

.btn-menu__txt {
    flex: 0 0 auto;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .1em
}

.btn-menu__bars {
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    flex: 0 0 4rem;
    width: 4rem;
    height: 2.8rem
}

.btn-menu__bars i {
    position: absolute;
    width: 100%;
    height: 0.1rem;
    background-color: #333;
    transition-duration: .3s;
    transition-property: scale, translate, rotate
}

.btn-menu__bars i:nth-child(1) {
    translate: 0 -1.4rem
}

.btn-menu__bars i:nth-child(3) {
    translate: 0 1.4rem
}

.btn-menu:is(.wrapper.is-open *) i:nth-child(1) {
    rotate: 45deg;
    translate: 0 0
}

.btn-menu:is(.wrapper.is-open *) i:nth-child(2) {
    scale: 0 1
}

.btn-menu:is(.wrapper.is-open *) i:nth-child(3) {
    rotate: -45deg;
    translate: 0 0
}

.company {
    padding-top: 8rem;
    padding-bottom: 8rem
}

.company__desc {
    padding-top: 1.6rem;
    text-align: center
}

.company__grid {
    display: grid;
    grid-template-columns:100%;
    gap: 6rem 0;
    padding-top: 4.8rem
}

@media (min-width: 768px) {
    .company__grid {
        grid-template-columns:repeat(2, 1fr);
        gap: 4.8rem 2rem
    }
}

@media (min-width: 1024px) {
    .company {
        padding-top: 19.1rem;
        padding-bottom: 20rem
    }

    .company__desc {
        padding-top: 2.9rem
    }

    .company__grid {
        gap: 6rem 4rem;
        padding-top: 6rem
    }
}

.company-card__ttl {
    padding-top: 1.6rem
}

.company-card__txt {
    padding-top: 0.7rem
}

@media (min-width: 1024px) {
    .company-card__ttl {
        padding-top: 2rem
    }
}

.company-table {
    width: 100%;
    max-width: 85rem;
    margin-top: 6rem;
    border-collapse: collapse;
    margin-inline: auto
}

.company-table th, .company-table td {
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    text-align: left;
    vertical-align: top
}

.company-table th {
    width: 10rem;
    padding-left: 1.1rem
}

@media (min-width: 768px) {
    .company-table th {
        width: 17.4rem;
        padding-left: 2.1rem
    }

    .company-table th, .company-table td {
        padding-top: 2rem;
        padding-bottom: 1.9rem
    }
}

@media (min-width: 1024px) {
    .company-table {
        margin-top: 11.5rem
    }
}

@media (max-width: 639.98px) {
    .company-table th, .company-table td {
        font-size: 1.4rem
    }
}

.cta {
    padding: 6.6rem var(--gutter) 6.3rem;
    background: url("../flat_modelhouse/img/cta-mobile-bg.jpg") no-repeat center top/cover
}

.cta__ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6rem;
    max-width: 80rem;
    border: 2px solid #fff;
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    letter-spacing: .1em;
    margin-inline: auto
}

.cta__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 29.4rem;
    height: 6.4rem;
    margin-top: 2.5rem;
    background-color: #000;
    border-radius: 5px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    letter-spacing: .1em;
    margin-inline: auto
}

@media (any-hover: hover) {
    .cta__btn {
        transition: .3s opacity
    }

    .cta__btn:hover {
        opacity: .7
    }
}

.cta__inner {
    max-width: 80rem;
    margin-inline: auto
}

.cta__txt {
    padding-top: 3rem
}

.cta__txt img {
    width: 34.3rem
}

@media (min-width: 640px) {
    .cta__txt {
        padding-top: 4.5rem
    }

    .cta__txt img {
        width: 51.45rem
    }
}

@media (min-width: 1024px) {
    .cta {
        min-height: 44.1rem;
        padding: 4rem var(--gutter) 1rem;
        background-image: url("../flat_modelhouse/img/cta-bg.jpg")
    }

    .cta__main {
        display: grid;
        justify-content: center;
        grid-template-columns:41.8rem 36.5rem;
        gap: 0 1.7rem;
        padding-top: 3.2rem;
        pointer-events: none
    }

    .cta__txt {
        padding-top: 0
    }

    .cta__txt img {
        width: 41.8rem
    }

    .cta__btn {
        margin-top: -6.4rem;
        margin-inline: 0
    }
}

@media (max-width: 1023.98px) {
    .cta__book {
        display: none
    }

    .cta__txt {
        text-align: center
    }
}

.cta-fixed {
    display: flex;
	gap: 0.2rem;
	padding: 0 0.1rem;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 100;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 7rem;
    text-align: center
}

@media (any-hover: hover) {
    .cta-fixed {
        transition: .3s opacity
    }

    .cta-fixed:hover {
        opacity: .7
    }
}
.cta-fixed a {
    display: flex;
    justify-content: center;
    align-items: center;
	height: 100%;
}
/* .cta-fixed a:nth-of-type(1) {
    flex: 1;
}
.cta-fixed a:nth-of-type(2) {
    flex: 1;
}
.cta-fixed a:nth-of-type(1) img {
    width: 100%
}
.cta-fixed a:nth-of-type(2) img {
    width: 100%
} */

.header__tel {
    margin: 0 20px 0 auto;
	width: 30px;
}

@media (min-width: 640px) {
	.header__tel {
	display: none;
}
    .cta-fixed {
        height: 14rem
    }

/* .cta-fixed a:nth-of-type(1) {
    width: 21.6rem
}
.cta-fixed a:nth-of-type(1) img {
        width: 19.4rem
    }
.cta-fixed a:nth-of-type(2) img {
        width: 44.6rem
    } */
}

@media (min-width: 1024px) {
    .cta-fixed {
        display: none
    }
}

.facility {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem
}

.facility__ttl {
    text-align: center
}

.facility__grid {
    display: grid;
    justify-content: space-between;
    grid-template-columns:repeat(2, minmax(0, 27.7rem));
    gap: 3rem 1rem;
    padding-top: 4.8rem
}

.facility__more p {
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1
}

@media (min-width: 768px) {
    .facility__grid {
        grid-template-columns:repeat(3, minmax(0, 27.7rem));
        gap: 3.7rem 1rem
    }
}

@media (min-width: 1024px) {
    .facility {
        padding-top: 11.3rem;
        padding-bottom: 11.7rem
    }

    .facility__ttl {
        margin-right: -0.2em
    }

    .facility__grid {
        grid-template-columns:repeat(4, minmax(0, 27.7rem));
        padding-top: 5.7rem
    }
}

.facility-card h4 {
    padding-top: 0.8rem;
    font-weight: 500
}

.facility-card h4, .facility-card p {
    font-size: 1.3rem;
    letter-spacing: .05em;
    line-height: 1.8
}

.facility-card p {
    padding-top: 0.2rem
}

@media (min-width: 640px) {
    .facility-card h4 {
        padding-top: 1.3rem
    }

    .facility-card h4, .facility-card p {
        font-size: 1.5rem;
        letter-spacing: .1em
    }
}

.feat {
    padding-top: 16rem;
    padding-bottom: 4.8rem
}

.feat__main {
    padding-top: 4.8rem
}

@media (min-width: 1024px) {
    .feat {
        /* padding-top: 24.6rem;
        padding-bottom: 6.4rem */
    }

    .feat__main {
        padding-top: 6.4rem
    }
}

.feat-blk + .feat-blk {
    padding-top: 8rem
}

.feat-blk__cont {
    position: relative;
    z-index: 1;
    background-color: #fff
}

.feat-blk__txt {
    padding-top: 1.6rem
}

.feat-blk__txt p + p {
    margin-top: 2em
}

.feat-blk__fg {
    position: relative
}

.feat-blk__img {
    position: relative;
    z-index: 0
}

.feat-blk__num {
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: auto;
    height: 8.2rem;
    line-height: 0
}

.feat-blk__num:is(.--img-left *) {
    left: 0
}

.feat-blk__num:is(.--img-right *) {
    right: 0
}

@media (min-width: 768px) {
    .feat-blk__num {
        height: 16.6rem
    }
}

@media (min-width: 1024px) {
    .feat-blk {
        display: flex
    }

    .feat-blk + .feat-blk {
        padding-top: 12rem
    }

    .feat-blk.--img-right {
        justify-content: flex-end
    }

    .feat-blk__fgwrap {
        flex: 0 0 calc(50% + 28rem);
        align-self: flex-start
    }

    .feat-blk__fgwrap:is(.--img-left *) {
        text-align: right
    }

    .feat-blk__fgwrap:is(.--img-right *) {
        order: 2
    }

    .feat-blk__fg {
        max-width: 100rem
    }

    .feat-blk__fg:is(.--img-left *) {
        margin-left: auto
    }

    .feat-blk__img:is(.--img-left *) {
        border-radius: 0 5px 0 0
    }

    .feat-blk__img:is(.--img-right *) {
        border-radius: 5px 0 0
    }

    .feat-blk__cont {
        flex: 0 0 calc(50% + 1.4rem);
        max-width: 61.4rem;
        margin-top: 12.2rem
    }

    .feat-blk__cont:is(.--img-left *) {
        padding: 6.1rem 0 0 6.4rem;
        margin-left: -29.4rem;
        border-radius: 5px 0 0
    }

    .feat-blk__cont:is(.--img-right *) {
        padding: 6.1rem 6.4rem 0 0;
        margin-right: -29.4rem;
        border-radius: 0 5px 0 0
    }

    .feat-blk__txt {
        padding-top: 3.1rem
    }
}

@media (max-width: 1023.98px) {
    .feat-blk__cont {
        padding: 2.4rem var(--gutter) 0
    }
}

.footer {
    padding-top: 5.6rem;
    background: #333!important;
}

.footer__logo {
    margin-inline: auto;
    width: 14rem
}

.footer__menu {
    padding-top: 2.8rem
}

.footer__copyright {
    padding-top: 2.4rem;
    padding-bottom: calc(5.4rem + var(--cta-height));
    font-size: 1.2rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    letter-spacing: .1em
}

@media (min-width: 1024px) {
    .footer {
        padding-top: 7.2rem;
        padding-bottom: 1.7rem
    }

    .footer__menu {
        padding-top: 3.6rem
    }

    .footer__copyright {
        padding-top: 3.3rem
    }
}

.footer-menu {
    display: grid;
    grid-template-columns:100%;
    gap: 1.6rem 0
}

.footer-menu a {
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    letter-spacing: .1em;
    transition: color .3s
}

@media (any-hover: hover) {
    .footer-menu a:hover {
        color: var(--color-aqua)
    }
}

.footer-menu a:focus-visible {
    color: var(--color-aqua)
}

@media (min-width: 768px) {
    .footer-menu {
        display: flex;
        justify-content: center;
        gap: 0 2rem
    }
}

@media (min-width: 1024px) {
    .footer-menu {
        gap: 0 3.25rem
    }
}

@media (max-width: 767.98px) {
    .footer-menu li {
        text-align: center
    }
}

.form {
    padding-top: 8rem;
    padding-bottom: 8rem;
    background-color: var(--bg-grey)
}

.form__desc {
    text-align: center
}

.form__tabs {
    display: grid;
    align-items: stretch;
    grid-template-columns:1fr 1fr;
    gap: 0 1rem;
    max-width: 100rem;
    padding-top: 4.8rem;
    margin-inline: auto
}

.form__conts {
    padding-top: 3.2rem
}

@media (min-width: 640px) {
    .form__tabs {
        gap: 0 2rem
    }
}

@media (min-width: 1024px) {
    .form {
        padding-top: 19.1rem;
        padding-bottom: 20rem
    }

    .form__desc {
        padding-top: 2.9rem
    }

    .form__tabs {
        gap: 0 4rem;
        padding-top: 6rem
    }

    .form__conts {
		margin: 0 auto;
		max-width: 1000px;
        padding-top: 6.4rem
    }
}

.fv {
    --fv-height: calc(100svh - var(--header-height) - var(--cta-height));
    position: relative;
    height: var(--fv-height)
}

.fv__bg {
    position: absolute;
    inset: 0 var(--gutter);
    z-index: 0
}

.fv__img {
    height: var(--fv-height);
    padding-bottom: 0.7rem
}

.fv__img img {
    width: 100%;
    height: 100%;
    max-width: none;
    border-radius: 5px;
    object-fit: cover;
	object-position: center bottom;
}

.fv__container {
    position: relative;
    z-index: 1;
    height: var(--fv-height)
}

.fv__bnr {
    display: none
}

.fv__copy {
    padding-top: 18.445svh;
    text-align: center;
}

@media(max-width: 640px) {
    .fv__copy {
        padding-inline: 4%;
    }
}

.fv__copy-date {
    display: block;
    padding-bottom: 27px;
    color: #FFF;
    text-align: center;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.20);
    font-family: "Zen Kaku Gothic New";
    font-size: 4.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.16em;
}
@media(max-width: 1024px) {
    .fv__copy-date {
        padding-bottom: 16px;
        font-size: 3.2rem;
    }
}
@media(max-width: 640px) {
    .fv__copy-date {
        font-size: 2.4rem;
    }
}

.fv__copy-date-sm {
    font-size: 2.4rem;
}
@media(max-width: 1024px) {
    .fv__copy-date-sm {
        font-size: 1.6rem;
    }
}
@media(max-width: 640px) {
    .fv__copy-date-sm {
        font-size: 1.2rem;
    }
}

.fv__copy-sub {
    display: block;
    padding-bottom: 16px;
    color: #FFF;
    text-align: center;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.20);
    font-family: "Zen Kaku Gothic New";
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.16em;
}

@media(max-width: 640px) {
    .fv__copy-sub {
        padding-bottom: 24px;
        font-size: 3.2rem;
    }
}

.fv__copy-main {
    display: block;
    color: #FFF;
    text-align: center;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.20);
    font-family: "Zen Kaku Gothic New";
    font-size: 3.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.16em;
}

@media(max-width: 640px) {
    .fv__copy-main {
        font-size: 2.0rem;
    }
}

@media (min-width: 1024px) {
    .fv {
        --fv-height: calc(100svh - var(--header-height))
    }

    .fv__bg {
        inset: 0 2.4rem
    }

    .fv__img {
        padding-bottom: 0
    }

    .fv__bnr {
        display: block;
        position: fixed;
        bottom: 1rem;
        right: 1rem;
        z-index: 2;
        width: 26rem;
        height: 21rem
    }
}

@media (min-width: 1024px)and (any-hover: hover) {
    .fv__bnr {
        transition: .3s opacity
    }

    .fv__bnr:hover {
        opacity: .7
    }
}

@media (min-width: 1024px) {
    .fv__copy {
        padding-top: 25.7491675916svh
    }
}

.header {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    height: var(--header-height);
    padding: 0 var(--gutter)
}

.header__logo {
    flex: 0 0 11.9rem;
    align-self: center;
    width: 11.9rem;
    line-height: 0
}

.header__menu, .header__btn {
    display: none
}

@media (min-width: 1024px) {
    .header {
        display: flex;
        position: relative;
        padding: 0 0 0 5rem
    }

    .header__logo {
        flex: 0 0 14rem;
        width: 14rem
    }

    .header__menu {
        display: block;
        align-self: center;
        margin-left: auto
    }

    .header__btn {
        max-width: 240px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex: 0 0 27.3rem;
        gap: 0 1.5rem;
        height: 8.9rem;
        margin-left: 2.1rem;
        background-color: var(--color-aqua);
        border-left: 1px solid #fff;
        border-bottom: 1px solid #fff;
        border-radius: 0 0 0 5px;
        color: #fff;
        text-decoration: none;
        transition-duration: .3s;
        transition-property: color, background-color, border-color
    }
}
@media(max-width: 1090px) {
    .header__btn {
        max-width: 200px;
    }
}

@media (min-width: 1024px)and (any-hover: hover) {
    .header__btn:hover {
        background-color: #fff;
        border-color: var(--color-aqua);
        color: var(--color-aqua)
    }
    .header__btn:hover  i {
        color: var(--color-aqua);
    }
    .header__btn:hover span {
        color: var(--color-aqua);
    }
}

@media (min-width: 1024px) {
    .header__btn:focus-visible {
        background-color: #fff;
        border-color: var(--color-aqua);
        color: var(--color-aqua)
    }

    .header__btn i {
        color: #FFF;
        flex: 0 0 4.3rem;
        width: 4.3rem;
        line-height: 0;
        translate: 0.1rem -0.3rem
    }

    .header__btn span {
        color: #FFF;
        font-size: 1.6rem;
        font-weight: bold;
        letter-spacing: .1em
    }

    .header__menubtn {
        display: none
    }
}

@media (max-width: 1023.98px) {
    .header {
        justify-content: space-between;
        align-items: center;
		transition: .4s;
    }
	.header.fixed {
		background: #fff;
	}
}

.header-menu {
    display: flex
}

.header-menu a {
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--color-text-body);
    text-decoration: none;
    letter-spacing: .1em;
    transition: color .3s
}

@media(max-width: 1180px) {
    .header-menu a {
        font-size: 1.3rem;
    }
}
@media(max-width: 1070px) {
    .header-menu a {
        font-size: 1.2rem;
    }
}

@media (any-hover: hover) {
    .header-menu a:hover {
        color: var(--color-aqua)
    }
}

.header-menu a:focus-visible {
    color: var(--color-aqua)
}

@media (min-width: 1366px) {
    .header-menu {
        gap: 0 4rem
    }
}
@media(max-width: 1366px) {
    .header-menu {
        gap: 0 2rem;
    }
}
@media(max-width: 1090p) {
    .header-menu {
        gap: 0 1rem;
    }
}


.hgrp p {
    text-align: center
}

.hgrp p img {
    margin-inline: auto;
}

.hgrp h2 {
    text-align: center
}

@media (min-width: 1024px) {
    .hgrp h2 {
        padding-top: 0.9rem;
        margin-right: -0.2em
    }
}

.hgrp-img {
    position: relative;
    --hgrp-gutter: max(var(--view-width) * 0.5 - 60rem, var(--gutter))
}

.hgrp-img__bg {
    position: relative;
    z-index: 0;
    height: 20rem
}

.hgrp-img__bg img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover
}

.hgrp-img__ttl {
    position: absolute;
    z-index: 1;
    background-color: #fff
}

.hgrp-img__ttl:is(.about *) {
    left: 0;
    bottom: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-top: 3rem;
    padding-left: var(--hgrp-gutter);
    padding-right: 3rem;
    border-radius: 0 5px 0 0
}

.hgrp-img__ttl:is(.floor *) {
    left: 0;
    bottom: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-top: 3rem;
    padding-left: var(--hgrp-gutter);
    padding-right: 3rem;
    border-radius: 0 5px 0 0
}

.hgrp-img__ttl:is(.merit *), .hgrp-img__ttl:is(.point *), .hgrp-img__ttl:is(.feat *), .hgrp-img__ttl:is(.works *) {
    top: 0;
    left: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: var(--hgrp-gutter);
    padding-bottom: 3rem;
    padding-right: 3rem;
    border-radius: 0 0 5px
}

@media (min-width: 640px) {
    .hgrp-img__bg:is(.about *) {
        height: 40rem
    }

    .hgrp-img__bg:is(.merit *), .hgrp-img__bg:is(.feat *), .hgrp-img__bg:is(.works *) {
        height: 35rem
    }
}

@media (min-width: 1024px) {
    .hgrp-img__ttl:is(.about *) {
        bottom: -2.3rem;
        width: max(var(--view-width) * .5 + 10.8rem);
        padding-top: 5.6rem;
        padding-right: 0
    }

    .hgrp-img__ttl:is(.merit *) {
        top: -2.4rem;
        width: max(var(--view-width) * .5 - 16.2rem);
        padding-bottom: 5.7rem;
        padding-right: 0
    }

    .hgrp-img__ttl:is(.feat *) {
        top: -5.3rem;
        width: max(var(--view-width) * .5 - 11.4rem);
        padding-bottom: 5.7rem;
        padding-right: 0
    }

    .hgrp-img__ttl:is(.works *) {
        top: -2.4rem;
        width: max(var(--view-width) * .5 - 16.2rem);
        padding-bottom: 5.7rem;
        padding-right: 0
    }
}

img.img-radius {
    border-radius: 5px
}

@media(max-width: 768px) {
    img.img-radius {
        margin-inline: auto;
    }
}

.inner-wide, .inner, .inner-slim {
    margin-inline: auto;
    --section-gutter: var(--gutter)
}

.inner-slim {
    width: min(100% - var(--section-gutter) * 2, var(--inner-slim))
}

.inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-base))
}

.inner-wide {
    width: min(100% - var(--section-gutter) * 2, var(--inner-wide))
}

.meet {
    padding-block: 8rem
}

.meet__desc {
    padding-top: 1.7rem;
    text-align: center
}

.meet__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 25rem;
    height: 5.6rem;
    margin-top: 3.2rem;
    background-color: #000;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    letter-spacing: .1em;
    margin-inline: auto
}

@media (any-hover: hover) {
    .meet__btn {
        transition: .3s opacity
    }

    .meet__btn:hover {
        opacity: .7
    }
}

.meet__main {
    display: grid;
    grid-template-columns:100%;
    gap: 4.8rem 0;
    padding-top: 4.8rem
}

@media (min-width: 1024px) {
    .meet {
        padding-top: 19.1rem
    }

    .meet__desc {
        padding-top: 2.9rem
    }

    .meet__btn {
        width: 33rem;
        height: 6.4rem;
        margin-top: 6.4rem
    }

    .meet__main {
        gap: 6.4rem 0;
        padding-top: 6rem
    }
}

@media (min-width: 768px) {
    .meet-blk {
        display: grid;
        gap: 3.6rem 4rem
    }

    .meet-blk__ttl {
        align-self: center;
        grid-area: ttl
    }

    .meet-blk__img {
        grid-area: img
    }

    .meet-blk__desc {
        grid-area: desc
    }

    .meet-blk.--img-left {
        grid-template-areas:"img ttl" "desc desc";
        grid-template-columns:105fr 127fr
    }

    .meet-blk.--img-right {
        grid-template-areas:"ttl img" "desc desc";
        grid-template-columns:127fr 105fr
    }
}

@media (min-width: 1024px) {
    .meet-blk__ttl {
        align-self: flex-end
    }

    .meet-blk__desc {
        align-self: flex-start
    }

    .meet-blk.--img-left {
        grid-template-areas:"img ttl" "img desc"
    }

    .meet-blk.--img-right {
        grid-template-areas:"ttl img" "desc img"
    }
}

@media (max-width: 767.98px) {
    .meet-blk__img {
        padding-top: 1.6rem
    }

    .meet-blk__desc {
        padding-top: 1.6rem
    }
}

.merit {
    padding-top: 12.4rem;
    padding-bottom: 4.8rem
}

.merit__main {
    display: grid;
    grid-template-columns:100%;
    gap: 3.2rem 0;
    padding-top: 3.2rem
}

@media (min-width: 1024px) {
    .merit {

    }

    .merit__main {
        gap: 6.4rem 0;
        padding-top: 6.4rem
    }
}

.merit-blk {
    --blk-gutter: max(var(--view-width) * 0.5 - 60rem, var(--gutter));
    width: min(var(--view-width) + var(--blk-gutter), 100%);
    background-color: var(--bg-grey)
}

.merit-blk__hgrp h3 {
    padding-top: 1rem
}

.merit-blk__inner {
    max-width: 120rem
}

.merit-blk__inner:is(.--img-right *) {
    margin-left: auto
}

.merit-blk.--img-left {
    padding-right: calc(var(--blk-gutter) + var(--gutter));
    margin-left: auto;
    margin-right: calc(-1 * var(--blk-gutter));
    border-radius: 0 0 5px 5px
}

.merit-blk.--img-right {
    padding-left: calc(var(--blk-gutter) + var(--gutter));
    margin-left: calc(-1 * var(--blk-gutter));
    margin-right: auto;
    border-radius: 5px 5px 0 0
}

@media (min-width: 768px) {
    .merit-blk__inner {
        display: grid;
        grid-template-columns:1fr 1fr;
        gap: 3.4rem 0;
        padding: 8rem 0
    }

    .merit-blk__inner:is(.--img-left *) {
        grid-template-areas:"img hgrp" "img desc"
    }

    .merit-blk__inner:is(.--img-right *) {
        grid-template-areas:"hgrp img" "desc img"
    }

    .merit-blk__hgrp {
        align-self: flex-end;
        grid-area: hgrp
    }

    .merit-blk__hgrp > * {
        max-width: 57.1rem
    }

    .merit-blk__hgrp:is(.--img-left *) > * {
        margin-left: auto
    }

    .merit-blk__img {
        grid-area: img
    }

    .merit-blk__img:is(.--img-left *) {
        padding-left: 6.4rem;
        padding-right: 6.4rem;
        text-align: right
    }

    .merit-blk__img:is(.--img-right *) {
        padding-left: 6.4rem;
        padding-right: 6.4rem;
    }

    .merit-blk__desc {
        align-self: flex-start;
        grid-area: desc
    }

    .merit-blk__desc > * {
        max-width: 57.1rem
    }

    .merit-blk__desc:is(.--img-left *) > * {
        margin-left: auto
    }
}

@media (max-width: 767.98px) {
    .merit-blk__inner:is(.--img-left *) {
        padding: 4rem 0 4rem 1.6rem
    }

    .merit-blk__inner:is(.--img-right *) {
        padding: 4rem 1.6rem 4rem 0
    }

    .merit-blk__img {
        padding-top: 1.6rem
    }

    .merit-blk__desc {
        padding-top: 1.6rem
    }
}

.nav {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 98;
    justify-content: center;
    align-items: center;
    padding: var(--header-height) 0 var(--cta-height);
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    transition-duration: .5s;
    transition-property: opacity, visibility
}

.nav:is(.wrapper.is-open *) {
    opacity: 1;
    visibility: visible
}

@media (min-width: 1024px) {
    .nav {
        display: none
    }
}

.nav-menu {
    display: grid;
    grid-template-columns:100%;
    gap: 1.6rem 0;
    padding-bottom: 4.5rem
}

.nav-menu li {
    text-align: center
}

.nav-menu span {
    font-weight: 500;
    text-decoration: none;
    letter-spacing: .1em;
    transition: color .3s
}

@media (any-hover: hover) {
    .nav-menu span:hover {
        color: var(--color-aqua)
    }
}

.nav-menu span:focus-visible {
    color: var(--color-aqua)
}

.plan {
    padding-top: 8rem
}

.plan__slider {
    margin-top: 3.6rem
}

.plan__slider .swiper-slide {
    padding: 2rem var(--gutter);
    background-color: var(--bg-grey);
    border-radius: 5px
}

@media (min-width: 1024px) {
    .plan {
        padding-top: 19.1rem
    }

    .plan__slider {
        margin-top: 5.7rem
    }

    .plan__slider .swiper-slide {
        padding: 6.4rem 4rem 6rem
    }
}

.plan-card {
    max-width: 104rem;
    margin-inline: auto
}

.plan-card__images {
    display: grid;
    grid-template:"img01 img03" 1fr "img02 img03" 1fr/46fr 54fr;
    gap: 1rem
}

.plan-card__img01 {
    grid-area: img01
}

.plan-card__img02 {
    grid-area: img02
}

.plan-card__img03 {
    position: relative;
    grid-area: img03
}

.plan-card__img03::before {
    content: "";
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 3rem;
    height: 3rem;
    background: url("../flat_modelhouse/img/plan-zoom.png") no-repeat center center/contain;
    pointer-events: none
}

.plan-card__ttl {
    padding-top: 2.4rem
}

.plan-card__info {
    display: flex;
    flex-wrap: wrap;
    gap: 0 .4em;
    font-size: 1.6rem
}

.plan-card__info div {
    display: flex
}

.plan-card__info dt, .plan-card__info dd {
    font-weight: 500;
    letter-spacing: .05em
}

.plan-card__desc {
    padding-top: 1.5rem
}

@media (min-width: 640px) {
    .plan-card__images {
        gap: 2rem
    }
}

@media (min-width: 1024px) {
    .plan-card__images {
        gap: 4rem
    }

    .plan-card__ttl {
        padding-top: 3.6rem
    }

    .plan-card__info dt, .plan-card__info dd {
        letter-spacing: .1em
    }

    .plan-card__img03::before {
        bottom: 2rem;
        right: 2.3rem;
        width: 6rem;
        height: 6rem
    }
}

.slide-navi {
    display: flex;
    align-items: center;
    gap: 0 2rem;
    padding-top: 2rem
}

.slide-navi__scroller {
    flex: 1 1 auto;
    background-color: var(--bg-grey)
}

.slide-navi__scroller .swiper-scrollbar-drag {
    height: 0.4rem;
    background-color: #333;
    border-radius: 0
}

.slide-navi__arrows {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns:3rem 3rem;
    gap: 1rem
}

@media (any-hover: hover) {
    .slide-navi__prev, .slide-navi__next {
        transition: .3s opacity
    }

    .slide-navi__prev:hover, .slide-navi__next:hover {
        opacity: .7
    }
}

@media (min-width: 1024px) {
    .slide-navi {
        gap: 0 4rem;
        padding-top: 4rem
    }

    .slide-navi__arrows {
        grid-template-columns:4.5rem 4.5rem;
        gap: 1.6rem
    }
}

.store {
    padding-top: 4rem;
    padding-bottom: 8rem
}

@media (min-width: 1024px) {
    .store {
        padding-top: 9.1rem;
        padding-bottom: 21.7rem
    }
}

.store-blk {
    padding-top: 4.8rem
}

.store-blk + .store-blk {
    padding-top: 5.6rem
}

.store-blk__ttl {
    padding: 0 0 0.8rem
}

.store-blk__info {
    padding-top: 1.6rem
}

.store-blk__map {
    padding: 1.6rem 0 0;
    margin: 0 calc(-1 * var(--gutter))
}

.store-blk__map iframe {
    width: 100%;
    height: 25rem
}

@media (min-width: 768px) {
    .store-blk {
        display: grid;
        grid-template:"img ttl" auto "img info" 1fr "img map" 30rem/1fr calc(50% - 4rem);
        gap: 0 4rem
    }

    .store-blk__map {
        grid-area: map;
        padding: 0;
        margin: 0
    }

    .store-blk__map iframe {
        height: 30rem
    }

    .store-blk__ttl {
        grid-area: ttl;
        padding: 0.7rem 0 0
    }

    .store-blk__img {
        grid-area: img
    }

    .store-blk__info {
        grid-area: info;
        padding-top: 3.1rem
    }
}

@media (min-width: 1024px) {
    .store-blk {
        padding-top: 5.7rem
    }

    .store-blk + .store-blk {
        padding-top: 6.4rem
    }
}

.tab {
    display: block;
    position: relative;
    padding: 0;
    border-radius: 5px;
    overflow: hidden;
    text-align: left;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
        opacity: .4
}
.tab.is-active {
	opacity: 1;
}

@media (any-hover: hover) {
    .tab {
        transition: .3s opacity
    }

    .tab:hover {
        opacity: .4
    }
}

.tab__bg {
    position: relative;
    z-index: 0
}

.tab__in {
    padding: 1.6rem;
    border-radius: 0 5px 0 0
}

.tab__ttl::after {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1rem;
    margin-left: 0.3rem;
    background: url("../flat_modelhouse/img/icon-tri.svg") no-repeat center center/contain
}

@media (min-width: 1024px) {
    .tab__in {
        padding: 2rem 2.4rem;
        background-color: rgba(255, 255, 255, .9)
    }

    .tab__cont {
        display: flex;
        position: absolute;
        inset: 0;
        z-index: 1;
        justify-content: flex-start;
        align-items: flex-end
    }
}

@media (max-width: 1023.98px) {
    .tab {
        background-color: rgba(255, 255, 255, .9)
    }

    .tab__txt.txt {
        font-size: 1.4rem
    }
}

@media (max-width: 639.98px) {
    .tab__txt.txt {
        font-size: 1.1rem
    }
}

.ttl-h2 {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.875
}

@media (min-width: 640px) {
    .ttl-h2 {
        font-size: 2.8rem
    }
}

@media (min-width: 1024px) {
    .ttl-h2 {
        font-size: 3.2rem;
        letter-spacing: .2em
    }
}

.ttl-h3 {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.8333333333
}

.ttl-h3 > small {
    font-size: 1.3rem;
    letter-spacing: .1em
}

@media (min-width: 640px) {
    .ttl-h3 {
        font-size: 2.4rem
    }

    .ttl-h3 > small {
        font-size: 1.6rem
    }
}

@media (min-width: 1024px) {
    .ttl-h3 {
        font-size: 2.4rem;
        letter-spacing: .2em
    }

    .ttl-h3 > small {
        letter-spacing: .2em
    }
}

.txt {
    font-size: var(--font-size-body);
    letter-spacing: .05em
}

.works {
    padding-block: 6.4rem 3.2rem
}

.works__slider {
    padding-top: 3.2rem
}

.works__slider .swiper-slide {
    width: 35rem
}

@media (min-width: 640px) {
    .works__slider .swiper-slide {
        width: 55rem
    }
}

@media (min-width: 1024px) {
    .works {
        padding-block: 12.8rem 6.4rem
    }

    .works__slider {
        padding-top: 6.4rem
    }

    .works__slider .swiper-slide {
        width: 100rem
    }
}

@media (min-width: 1366px) {
    .works__slider {
        padding-top: 6.4rem
    }

    .works__slider .swiper-slide {
        width: 120rem
    }
}

.wrapper {
    overflow: hidden
}

@media (max-width: 1023.98px) {
    .wrapper {
        padding-top: var(--header-height)
    }
}

/*add 1127 form*/
.form-wrap {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}

#form ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 48px;
}
@media all and (max-width: 1024px) {
  #form ul {
    display: block;
  }
}

#form ul li:first-of-type {
  display: flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 320px;
}
@media all and (max-width: 1024px) {
  #form ul li:first-of-type {
    margin-bottom: 12px;
  }
}

#form ul li:last-of-type {
  display: block;
  width: calc(100% - 360px);
}
@media all and (max-width: 1024px) {
  #form ul li:last-of-type {
    width: 100%;
  }
}

.wpcf7-not-valid-tip {
  display: none !important;
}

#form ul li:last-of-type button,
#form ul li:last-of-type input,
#form ul li:last-of-type optgroup,
#form ul li:last-of-type select,
#form ul li:last-of-type textarea {
  /* background-color: #F7F7F7;
  display: block;
  width: 100%;
  border: none;
  border-radius: 8px;
  padding: 22px 24px; */
}

.wpcf7c-elm-step1 {
  /* background: var(--color-aqua) !important; */
}

.section-form-privacy.wpcf7c-elm-step1 {
  /* background: unset !important; */
}

#form ul.search-addr li:last-of-type div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#form ul.search-addr li:last-of-type span {
  width: calc(100% - 168px);
}

#form ul li .itemform_add_search button,
#form ul.search-addr li button {
  background-color: var(--color-aqua);
  width: 150px;
  color: #ffffff;
  line-height: 1;
  text-align: center;
}

@media all and (max-width: 1024px) {
  #form ul li .itemform_add_search button,
  #form ul.search-addr li button {
    width: 100px;
    padding: 22px 12px;
  }
}
.item-name {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  color: #583711;
}

#form ul li:first-of-type span.item-req {
  background-color: var(--color-aqua)!important;
  display: block;
  width: -moz-max-content;
  width: max-content;
  color: #ffffff;
  font-size: 14px;
  border-radius: 1000px;
  padding: 8px 28px;
}

#form ul li:first-of-type span.item-req.item-nini {
  background-color: #E2B519 !important;
}

#form ul.place li:last-of-type input {
  width: -moz-max-content;
  width: max-content;
  padding: 0;
  margin-right: 8px;
}

#form ul.place li:last-of-type label {
  display: flex;
  align-items: center;
}

.section-form__check1,
.section-form__check2{
  width: -moz-max-content;
  width: max-content;
  font-size: 16px;
  margin: auto;
  margin-top: 16px;
}

[type=submit] {
  /* background: var(--color-aqua);
  display: block;
  max-width: 300px;
  width: 100%;
  color: #ffffff;
  text-align: center;
  border: none;
  border-radius: 8px;
  padding: 24px;
  margin: auto;
  margin-top: 56px; */
}

.formError {
  top: 60px !important;
}
@media all and (max-width: 640px) {
  .formError {
    top: 45px !important;
  }
}

.formError .formErrorContent {
  font-size: 14px;
  padding: 8px 12px;
  background: #4e3638 !important;
  border: 0 transparent !important;
  box-shadow: none !important;
}

.formError .formErrorArrow div {
  background: #4e3638 !important;
  border: 0 transparent !important;
  box-shadow: none !important;
}

#form ul.place li:last-of-type .wpcf7-list-item {
  width: 40%;
  margin-bottom: 20px;
}

#form ul.clearfix.place li:first-of-type,
#form ul.clearfix.txt li:first-of-type {
  align-items: flex-start;
}

.your-plan .wpcf7-list-item {
  display: block;
  color: #583711;
}

.your-plan .wpcf7-list-item label {
  display: flex;
	align-items: center;
  gap: 12px;
}

.your-plan .wpcf7-list-item label input {
  width: 16px !important;
  height: 16px !important;
  color: #583711;
}

.your-plan .wpcf7-list-item-label {
  display: block;
  color: #583711;
}

#form .people-wrap li ul {
  display: block;
  width: 400px;
}

@media all and (max-width: 640px) {
  #form .people-wrap li ul {
    width: auto;
  }
}
#form .people-wrap li ul li {
  display: flex;
  justify-content: space-between;
  gap: 4px;
  color: #583711;
  margin-bottom: 12px;
  width: 100% !important;
}

@media all and (max-width: 640px) {
  #form .people-wrap li ul li {
    display: block;
  }
}
#form .people-wrap li ul li span {
  display: block;
}

#form .people-wrap li ul li span:first-child {
  width: 100px !important;
  color: #583711;
}

#form .people-wrap li ul li .wpcf7-form-control-wrap {
  width: 300px !important;
}

.section-form__check .wpcf7-list-item-label {
  color: #583711;
}

.item-form.itemform_add_search {
  display: flex;
  justify-content: space-between;
}

.item-form.itemform_add_search .wpcf7-form-control-wrap {
  width: calc(100% - 170px);
}

@media all and (max-width: 1024px) {
  .item-form.itemform_add_search .wpcf7-form-control-wrap {
    width: calc(100% - 120px);
  }
}
p.caption {
  line-height: 1.4;
  text-align: center;
  padding-left: 20px;
  padding-right: 20px;
  margin-top: 24px;
}

.item-notice strong {
  color: #fff;
  font-weight: 600;
}

.item-notice p {
  color: #fff;
}

.privacy-box {
  width: 100%;
  height: 200px;
  overflow-y: scroll;
  background: #fff;
  border: solid 1px var(--color-aqua);
  padding: 2em;
}

@media all and (max-width: 1024px) {
  .privacy-box {
    padding: 1em;
  }
}
.privacy-box h3 {
  font-size: 16px;
  text-align: left;
  margin-bottom: 1em;
}

@media all and (max-width: 1024px) {
  .privacy-box h3 {
    font-size: 14px;
  }
}
.privacy-box p {
  font-size: 14px;
  line-height: 1.5em;
  margin-bottom: 1em;
}

@media all and (max-width: 1024px) {
  .privacy-box p {
    font-size: 12px;
  }
}
.section-form__check .wpcf7-list-item {
  margin: 0;
}

@media screen and (max-width: 640px) {
  .item-name {
    font-size: 16px;
  }
  #form ul {
    flex-wrap: wrap;
    margin-bottom: 6%;
  }
  #form ul li:first-of-type,
  #form ul li:last-of-type {
    width: 100%;
  }
  #form ul li:first-of-type {
    margin-bottom: 16px;
  }
  #form ul.place li:last-of-type .wpcf7-list-item {
    width: 100%;
    margin-bottom: 20px;
  }
  #form ul li:last-of-type button,
  #form ul li:last-of-type input,
  #form ul li:last-of-type optgroup,
  #form ul li:last-of-type select,
  #form ul li:last-of-type textarea {
    /*         background-color: #ffffff; */
    /* display: block;
    width: 100%;
    font-size: 14px;
    border-radius: 8px;
    padding: 16px 18px; */
  }
  #form ul li:last-of-type button {
    width: 100px;
  }
  #form ul li:first-of-type span.item-req {
    font-size: 14px;
  }
  #form ul.search-addr li:last-of-type button {
    width: 120px;
  }
  #form ul.search-addr li:last-of-type span {
    width: calc(100% - 130px);
  }
  p.caption {
    text-align: left;
  }
}

.cta__caution {
	margin-top: 20px;
	padding: 20px 0 0;
	border-top: 2px solid #fff;
	text-align: center;
}
@media (min-width: 1024px) {
.cta__caution {
	padding: 20px 0 30px;
}
}
.cta__caution p {
	display: inline-block;
	font-size: 1.2rem;
	text-align: left;
	color: #fff;
}
.cta__caution p br {
	  height: 1px;
  line-height: 0;
}

/*# sourceMappingURL=maps/style.css.map */

#form .notice-area{
	text-align:center;
	justify-content:center;
}
@media (max-width: 640px) {
#form .notice-area{
	text-align:left;
	justify-content:flex-start;
}

}


/*追加*/

.cta2 {
    padding: 6rem var(--gutter) 6.4rem;
    background: url("../flat_modelhouse/img/cta-bg.jpg") no-repeat center top/cover;
	text-align: center;
}

@media(max-width: 640px) {
    .cta2 {
    padding: 3rem var(--gutter) 3.2rem;
    }
}

.cta2__ttl {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-bottom: 2px solid #fff;
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    letter-spacing: .1em;
    margin-inline: auto;
    padding-block: 0.8rem;
}
.cta2__btn {
    display: flex;
    justify-content: center;
    align-items: center;
	gap: 8px;
		margin: 0 auto;
        /* max-width: 512px; */
        max-width: 330px;
}
.cta2__btn-item {
    display: flex;
    justify-content: center;
    align-items: center;
	flex: 1;
    height: 6.4rem;
    background-color: #F5B245;
    border-radius: 5px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff!important;
    text-decoration: none;
    letter-spacing: .1em;
    margin-inline: auto;
box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.16);
}
.cta2__btn-item:last-of-type {
    /* background-color: #fff;
    color: #3A3A3A; */
}
@media (any-hover: hover) {
    .cta2__btn-item {
        transition: .3s opacity
    }

    .cta2__btn-item:hover {
        opacity: .7
    }
}

.cta2__inner {
    max-width: 80rem;
    margin-inline: auto
}

.cta2__txt {
    padding-block: 3rem 6rem;
    color: var(--rgb-255255255, #FFF);
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 2.56px;
}
@media(max-width: 1024px) {
    .cta2__txt {
        font-size: 14px;
    }
}
@media(max-width: 640px) {
    .cta2__txt {
        font-size: 13px;
    }
}

.cta2__txt img {
    width: 28.3rem
}

@media (min-width: 640px) {
    .cta2__txt {
        padding-top: 2.4rem
    }

    .cta2__txt img {
        width: 51.45rem
    }
}

@media (min-width: 1024px) {
    .cta__main {
		margin: 0 auto;
        max-width: 512px;
    }

    .cta2__txt img {
        width: 51.2rem
    }
}


.cta3 {
	text-align: center;
	padding: 0 20px;
}

.cta3__ttl {
    display: inline-flex;
    justify-content: center;
    align-items: center;
	flex-direction: column;
    border-bottom: 1px solid #333;
    font-size: 2.1rem;
    font-weight: bold;
    color: #333;
    letter-spacing: .1em;
    margin: 0 auto 2rem;
    padding-block: 0 0.8rem;
    padding-inline: 0;
}
.cta3__ttl span {
	font-size: 0.875em;
	color: #666;
}
.cta3__inner {
    max-width: 64rem;
    margin-inline: auto
}
.cta3__txt {
}
.cta3__txt p {
	text-align: left;
    font-size: 1.6rem;
}

@media (min-width: 640px) {
.cta3__ttl {
    display: inline-flex;
    justify-content: center;
    align-items: center;
	flex-direction: column;
    border-bottom: 1px solid #333;
    font-size: 3.2rem;
    font-weight: bold;
    color: #333;
    letter-spacing: .1em;
    margin: 0 auto 4rem;
    padding-block: 0 0.8rem;
    padding-inline: 1em;
}
.cta3__txt p {
        padding-top: 1.4rem
    }
}


/**/
.facility-wrap {
	display: none;
}
.facility-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 35px auto 0;
    width: 265px;
    height: 60px;
    text-align: center;
    border-radius: 5px;
    position: relative;
    transition: 0.4s;
    background-color: #F5B245;
	border: 2px solid #F5B245;
    cursor: pointer;
    transition: 0.4s;
}
.facility-btn::before {
    content: "詳しく見る";
    font-weight: 500;
    font-size: 1.8rem;
    letter-spacing: 0.04em;
    color: #fff
}
.facility-btn.--active {
    background-color: #fff;
}
.facility-btn.--active::before {
    content:"閉じる";
    font-weight: bold;
    font-size: 1.8rem;
    letter-spacing: 0.04em;
    color: #F5B245;
}

/* 250617 */
.br-pc {
    display: block;
}
.br-sp {
    display: none;
}
@media(max-width: 640px) {
    .br-pc {
        display: none;
    }
    .br-sp {
        display: block;
    }
}

/* 250617 Form */
.form-common {
	 font-size: 1.6rem;
	 font-family: "Noto Sans JP", sans-serif;
	/*以下はフォームのデフォルト設定*/
	/*以下はvalidation*/
}
 .form-common .wpcf7-not-valid-tip {
	 display: none;
}
 .form-common__inner {
	 max-width: 940px;
	 width: 100%;
	 margin: 0 auto;
}
 .form-common__inner--cnt {
	 margin: 0 auto 60px;
}
 @media (max-width: 1024px) {
	 .form-common__inner--cnt {
		 margin: 0 auto 6%;
	}
}
 @media (max-width: 640px) {
	 .form-common__inner--cnt--left {
		 font-size: 1.4rem;
	}
}
 .form-common__inner--cnt--mail {
	 margin: 0 auto 20px;
	 font-size: 1.4rem;
	 line-height: 1.6em;
}
 @media (max-width: 1024px) {
	 .form-common__inner--cnt--mail {
		 margin: 0 auto 2%;
	}
}
 .form-common__inner--cnt ul:not(:last-of-type) {
	 display: flex;
	 margin: 0 auto 20px;
}
 @media (max-width: 1024px) {
	 .form-common__inner--cnt ul:not(:last-of-type) {
		 margin: 0 auto 4%;
		 display: block;
	}
}
 @media (max-width: 640px) {
	 .form-common__inner--cnt ul:not(:last-of-type) {
		 margin: 0 auto 6%;
	}
}
 .form-common__inner--cnt ul li {
	 float: left;
}
 .form-common__inner--cnt ul li.top:first-of-type {
	 align-items: baseline;
}
 .form-common__inner--cnt ul li.radio:last-of-type {
	 display: flex;
	 align-items: center;
}
 .form-common__inner--cnt ul li:first-of-type {
	 width: 30%;
	 display: flex;
	 align-items: center;
	 margin-right: 6%;
}
 @media (max-width: 767px) {
	 .form-common__inner--cnt ul li:first-of-type {
		 width: 100%;
		 margin-right: 0;
		 margin-bottom: 2%;
	}
}
 .form-common__inner--cnt ul li:first-of-type .form-common__inner--cnt--left {
	 width: 100%;
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
}
 @media (max-width: 767px) {
	 .form-common__inner--cnt ul li:first-of-type .form-common__inner--cnt--left {
		 width: auto;
		 flex-direction: row-reverse;
		 gap: 20px;
	}
}
 @media (max-width: 640px) {
	 .form-common__inner--cnt ul li:first-of-type .form-common__inner--cnt--left {
		 gap: 10px;
	}
}
 .form-common__inner--cnt ul li:last-of-type {
	 width: 64%;
}
 @media (max-width: 767px) {
	 .form-common__inner--cnt ul li:last-of-type {
		 width: 100%;
	}
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right.select-form {
	 position: relative;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right.select-form::after {
	 content: "";
	 position: absolute;
	 display: inline-block;
	 border-top: 2px solid #707070;
	 border-right: 2px solid #707070;
	 height: 10px;
	 width: 10px;
	 top: 15px;
	 right: 15px;
	 transform: rotate(135deg);
	 pointer-events: none;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right.radio-form-flex-column .wpcf7-form-control-wrap .wpcf7-radio {
	 flex-direction: column;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .wpcf7-form-control-wrap .wpcf7-checkbox {
	 margin-top: 14px;
	 display: flex;
	 flex-wrap: wrap;
	 gap: 15px;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item {
	 margin: 0;
	 font-size: 1.4rem;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label {
	 display: flex;
	 align-items: center;
	 gap: 8px;
	 cursor: pointer;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .wpcf7-form-control-wrap .wpcf7-radio {
	 display: flex;
	 flex-wrap: wrap;
	 gap: 10px 15px;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item {
	 margin: 0;
	 font-size: 1.4rem;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label {
	 display: flex;
	 align-items: center;
	 gap: 8px;
	 cursor: pointer;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .form-select {
	 display: flex;
	 flex-direction: column;
	 gap: 10px;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .form-select .form-select__item {
	 display: flex;
	 align-items: center;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .form-select .form-select__item .form-select__item--name {
	 font-size: 1.6rem;
	 color: #66d1b1;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .form-select .form-select__item .form-select__item--input {
	 width: 175px;
}
 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .form-select .form-select__item .form-select__item--input select {
	 height: 44px;
}
 @media (max-width: 640px) {
	 .form-common__inner--cnt ul li:last-of-type .form-common__inner--cnt--right .form-select .form-select__item .form-select__item--input select {
		 height: 33px;
	}
}
 .form-common__inner--label {
	 width: 84px;
	 display: inline-block;
	 margin: 0 0 0 10px;
	 padding: 8px 0;
	 color: #fff;
	 font-size: 1.4rem;
	 font-weight: 300;
	 text-align: center;
	 border-radius: 25px;
	 background: #9f9f9f;
	 flex-shrink: 0;
}
 @media (max-width: 1024px) {
	 .form-common__inner--label {
		 margin: 0;
	}
}
 @media (max-width: 640px) {
	 .form-common__inner--label {
		 padding: 6px 0;
		 font-size: 1.4rem;
	}
}
 .form-common__inner--label.label-required {
	 background: #4da2ca;
}
 .form-common__inner--privacy {
	 margin: 0 auto 40px;
	 text-align: center;
}
 @media (max-width: 1024px) {
	 .form-common__inner--privacy {
		 margin: 0 auto 4%;
	}
}
 .form-common__inner--privacy--notice {
	 max-width: 980px;
	 width: 100%;
	 height: 250px;
	 margin: 0 auto 20px;
	 padding: 20px;
	 background: #fff;
	 overflow-y: scroll;
	 box-sizing: border-box;
	 text-align: left;
	 border: 1px solid #3a3a3a;
	 box-sizing: border-box;
}
 @media (max-width: 1024px) {
	 .form-common__inner--privacy--notice {
		 margin: 0 auto 2%;
		 padding: 2%;
	}
}
 .form-common__inner--privacy--cnt {
	 line-height: 1.6em;
}
 .form-common__inner--privacy--cnt h3 {
	 font-size: 1.8rem;
	 font-weight: 600;
}
 @media (max-width: 640px) {
	 .form-common__inner--privacy--cnt h3 {
		 font-size: 1.6rem;
	}
}
 .form-common__inner--privacy--cnt p {
	 margin: 0 auto 20px;
	 font-size: 1.4rem;
	 line-height: 2;
	 letter-spacing: 0.4px;
}
 @media (max-width: 1024px) {
	 .form-common__inner--privacy--cnt p {
		 margin: 0 auto 2%;
	}
}
 @media (max-width: 640px) {
	 .form-common__inner--privacy--cnt p {
		 font-size: 1.4rem;
	}
}
 .form-common textarea, .form-common input[type="text"], .form-common input[type="email"], .form-common input[type="tel"], .form-common input[type="date"], .form-common select {
	 width: 100%;
	 padding: 2% 4%;
	 border: 1px solid #d5d5d5;
	 background: #fff;
	 resize: none;
}
 .form-common input[type="radio"] {
	 position: absolute;
	 opacity: 0;
	 cursor: pointer;
}
 .form-common input[type="radio"] + span {
	 height: 20px;
	 position: relative;
	 padding-left: 25px;
	 cursor: pointer;
	 font-size: 1.4rem;
	 display: flex;
	 align-items: center;
}
 .form-common input[type="radio"] + span::before {
	 content: "";
	 position: absolute;
	 left: 0;
	 top: 0;
	 width: 20px;
	 height: 20px;
	 border-radius: 50%;
	 background-color: #fff;
	 border: 1px solid #707070;
}
 .form-common input[type="radio"]:checked + span::before {
	 background-color: #66d1b1;
	 box-shadow: inset 0 0 0 3px white;
}
 .form-common input[type="text"]::placeholder, .form-common textarea::placeholder {
	 color: #bfbfbf;
	 font-weight: normal;
}
 .form-common input[type="submit"], .form-common input[type="button"] {
	 /* position: relative;
	 margin: 0 auto;
	 width: 100%;
	 max-width: 400px;
	 line-height: 70px;
	 text-align: center;
	 background: #4da2ca;
	 color: #fff;
	 border: 1px solid #4da2ca;
	 transition: 0.4s all;
	 display: block; */
}
 .form-common input#your-zip,
 .form-common input#your-zip02 {
	 width: 79%;
}
 @media (max-width: 640px) {
	 .form-common input#your-zip,
	 .form-common input#your-zip02 {
		 width: 70%;
	}
}
 .form-common button.your-zip,
 .form-common button.your-zip02 {
	 width: 19%;
	 line-height: 40px;
	 text-align: center;
	 background: #4da2ca;
	 border: 1px solid #4da2ca;
	 color: #fff;
}
 @media (max-width: 1024px) {
	 .form-common button.your-zip,
	 .form-common button.your-zip02 {
		 line-height: 48px;
	}
}
 @media (max-width: 640px) {
	 .form-common button.your-zip,
	 .form-common button.your-zip02 {
		 width: 28%;
		 line-height: 34px;
		 text-align: center;
		 font-size: 1.4rem;
	}
}
 .form-common .wpcf7-not-valid-tip {
	 display: none !important;
}
 .form-common .formError .formErrorContent {
	 background: #3a3a3a !important;
	 padding: 10px !important;
	 border: none !important;
	 font-size: 14px !important;
	 box-shadow: none !important;
}
 .form-common .formError .formErrorArrow .line1, .form-common .formError .formErrorArrow .line2 {
	 background: none !important;
}
 .form-common .formError .formErrorArrow div {
	 background: #3a3a3a !important;
	 border: none !important;
}
 



/* 250617 Floor */
.floor {
  padding-top: 180px;
}

.floor__body {
    padding-top: 40px;
  display: flex;
  gap: 80px;
  align-items: flex-end;
  flex-wrap: wrap; /* 狭いときに折り返すため追加 */
}

@media(max-width: 1060px) {
    .floor__body {
        gap: 40px;
    }
}

.floor__image-wrapper {
  cursor: pointer;
  max-width: 718px;
  width: 100%;
  flex: 1 1 auto; /* 柔軟に伸縮 */
  position: relative;
}

@media(max-width: 1057px) {
    .floor__image-wrapper {
        margin: 0 auto;
    }
}



.floor__image-wrapper::after {
  content: '';
  display: block;
  background: url("../flat_modelhouse/img/icon-zoom.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 60px;
  height: 60px;
  position: absolute;
  bottom: 16px;
  right: 16px;
  pointer-events: none;
}

.floor__image-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}

.floor__list {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1 1 200px;
}

@media(max-width: 640px) {
    .floor__list {
        flex: 1 1 0;
    }
}

.floor__list-item {
  margin-bottom: 0.5em;
}

/* レスポンシブ対応（640px以下） */
@media (max-width: 640px) {
  .floor__body {
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
  }

  .floor__image,
  .floor__list {
    width: 100%;
    max-width: 100%;
  }
}

/* モーダル */
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
}

.modal[aria-hidden="false"] {
  display: flex;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: transparent;
}

.modal__content {
  position: relative;
  width: 100%;
  max-height: 90%;
  overflow: auto;
  padding-inline: 4%;
}

.modal__content img {
  width: 100%;
  height: auto;
}

.modal__close {
    color: #FFF;
  position: absolute;
  top: 0;
  right: 0;
  background: none;
  border: none;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  display: inline-block;
  width: auto;
}

.cta2__btn-item.--catalog {
    justify-content: flex-end;
    gap: 29px;
    position: relative;
}
@media(max-width: 640px) {
    .cta2__btn-item.--catalog {
        justify-content: center;
    }
}
.cta2__btn-item.--catalog::after {
    content: '';
    display: block;
    max-width: 93px;
    width: 100%;
    aspect-ratio: 93 / 83;
    background: url("../flat_modelhouse/img/cta-catalog.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    top: -10px;
}
@media(max-width: 640px) {
    .cta2__btn-item {
    }
    .cta2__btn-item.--catalog::after {
    }
}

/* 250618 point */
.point {
    padding-top: 16rem;
    padding-bottom: 4.8rem
}

.point__main {
    display: grid;
    grid-template-columns:100%;
    gap: 3.2rem 0;
    padding-top: 3.2rem
}

@media (min-width: 1024px) {
    .point {
        padding-top: 16rem;
        padding-bottom: 6.4rem
    }

    .point__main {
        gap: 6.4rem 0;
        padding-top: 6.4rem
    }
}

.point-blk {
    --blk-gutter: max(var(--view-width) * 0.5 - 60rem, var(--gutter));
    width: min(var(--view-width) + var(--blk-gutter), 100%);
    background-color: var(--bg-grey)
}

.point-blk__hgrp h3 {
    padding-top: 1rem
}

.point-blk__inner {
    max-width: 120rem
}

.point-blk__inner:is(.--img-right *) {
    margin-left: auto
}

.point-blk.--img-left {
    padding-right: calc(var(--blk-gutter) + var(--gutter));
    margin-left: auto;
    margin-right: calc(-1 * var(--blk-gutter));
    border-radius: 0 0 5px 5px
}

.point-blk.--img-right {
    padding-left: calc(var(--blk-gutter) + var(--gutter));
    margin-left: calc(-1 * var(--blk-gutter));
    margin-right: auto;
    border-radius: 5px 5px 0 0
}

@media (min-width: 768px) {
    .point-blk__inner {
        display: grid;
        grid-template-columns:1fr 1fr;
        gap: 3.4rem 0;
        padding: 8rem 0
    }

    .point-blk__inner:is(.--img-left *) {
        grid-template-areas:"img hgrp" "img desc"
    }

    .point-blk__inner:is(.--img-right *) {
        grid-template-areas:"hgrp img" "desc img"
    }

    .point-blk__hgrp {
        align-self: flex-end;
        grid-area: hgrp
    }

    .point-blk__hgrp > * {
        max-width: 57.1rem
    }

    .point-blk__hgrp:is(.--img-left *) > * {
        margin-left: auto
    }

    .point-blk__img {
        grid-area: img
    }

    .point-blk__img:is(.--img-left *) {
        padding-left: 6.4rem;
        padding-right: 6.4rem;
        text-align: right
    }

    .point-blk__img:is(.--img-right *) {
        padding-left: 1.1rem;
        padding-right: 1.1rem
    }

    .point-blk__desc {
        align-self: flex-start;
        grid-area: desc
    }

    .point-blk__desc > * {
        max-width: 57.1rem
    }

    .point-blk__desc:is(.--img-left *) > * {
        margin-left: auto
    }
}

@media (max-width: 767.98px) {
    .point-blk__inner:is(.--img-left *) {
        padding: 8rem 0 4rem 1.6rem
    }

    .point-blk__inner:is(.--img-right *) {
        padding: 8rem 1.6rem 4rem 0
    }

    .point-blk__img {
        padding-top: 1.6rem
    }

    .point-blk__desc {
        padding-top: 1.6rem
    }
}

.point__access-inner {
    max-width: 1040px;
    margin-inline: auto;
    padding-top: 6rem;
    padding-inline: 20px;
}
.point__access-heading {
    padding-bottom: 24px;
}
@media(max-width: 1024px) {
    .point__access-heading {
        padding-bottom: 2%;
    }
}
.point__access-heading-title {
    color: #3A3A3A;
    font-family: "Zen Kaku Gothic New";
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.05em;
}
@media(max-width: 1024px) {
    .point__access-heading-title {
        font-size: 2rem;
    }
}
.point__access-map {
  width: 100%;
  aspect-ratio: 1000 / 304;
  display: block;
  overflow: hidden;
}
@media(max-width: 1024px) {
    .point__access-map {
        aspect-ratio: 1000 / 450;
    }
}
.point__access-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.point__access-property {
    padding-top: 24px;
}
.point__access-property-title {
    color: #3A3A3A;
    font-family: "Zen Kaku Gothic New";
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
}
@media(max-width: 1024px) {
    .point__access-property-title {
        font-size: 1.8rem;
    }
}
.point__access-property-info {
    padding-top: 2rem;
}
.point__access-property-info-list {
    color: #3A3A3A;
    font-family: "Zen Kaku Gothic New";
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
@media(max-width: 1024px) {
    .point__access-property-info-list {
        font-size: 1.4rem;
    }
}

@media(max-width: 1024px) {
    .floor {
        padding-top: 18%;
    }
    .point {
        padding-top: 16%;
    }
    .merit {
        padding-top: 12%;
    }
    .cta2__txt {
        padding-block: 3% 6%;
    }
    .feat {
        padding-top: 16%;
    }
    .plan {
        padding-top: 8%;
    }
}

@media(max-width: 640px) {
    .form p.form__desc.txt {
        font-size: 14px;
    }
}

@media(max-width: 480px) {
    .form-common input#your-zip, .form-common input#your-zip02 {
        width: 60%;
    }
}

/* 250623 FB対応 */
.form-common input[type="submit"], .form-common input[type="button"] {
    background: #5AA1D8;
    width: 206px;
    height: 64px;
    line-height: 64px;
    border-radius: 5px;
    color: #FFF;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.05em;
}

@media(max-width: 640px) {
    .hgrp p img {
        transform: scale(0.8);
        padding-bottom: 2%;
    }
}