:root {
    --app-height: 100vh
}

html {
    font-family: sans-serif;
    font-size: 62.5%;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden
}

body.has-scrolled:before,
body:not(.home):before {
    opacity: .6
}

#page-body {
    position: relative;
    z-index: 1;
    background: #fffefc;
    border: 1px solid transparent
}

#page-body:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 84px;
    background: #fffefc;
    z-index: 98
}

#page-body>.hero-section:has(>.fs-bg) {
    z-index: 99
}

*,
:after,
:before {
    box-sizing: border-box;
    background-repeat: no-repeat;
    margin: 0
}

a {
    text-decoration: none;
    color: #0d0c09
}

p a:hover {
    text-decoration: underline
}

.text-light a {
    color: #fffefc
}

@media only screen and (max-width:1480px) {
    html {
        font-size: 55%
    }
}

@media only screen and (max-width:768px) {
    html {
        font-size: 55%
    }

    #page-body {
        margin-bottom: 0 !important
    }

    #page-body:before {
        height: 54px
    }

    .sm-hide {
        display: none
    }
}

@font-face {
    font-family: Hendriz;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/Hendriz-Regular.woff2?v=1.09) format("woff2"), url(../fonts/Hendriz-Regular.woff?v=1.09) format("woff")
}

@font-face {
    font-family: Hendriz;
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/Hendriz-Medium.woff?v=1.09) format("woff2"), url(../fonts/Hendriz-Medium.woff?v=1.09) format("woff")
}

@font-face {
    font-family: Hendriz;
    font-style: normal;
    font-weight: 600;
    src: url(../fonts/Hendriz-Semibold.woff?v=1.09) format("woff2"), url(../fonts/Hendriz-Semibold.woff?v=1.09) format("woff")
}

body {
    font-family: "Noto Serif JP", serif;
    color: rgba(13, 12, 9, .6);
    font-size: clamp(18px, 1.4vw, 20px);
    line-height: 1.45;
    font-weight: 400;
    background: #fffefc
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
    line-height: 1.3;
    margin: 4.8rem 0 0;
    color: #0d0c09
}

.h1:first-child,
.h2:first-child,
.h3:first-child,
.h4:first-child,
.h5:first-child,
.h6:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
    margin-top: 0
}

.h1.no-margin,
.h2.no-margin,
.h3.no-margin,
.h4.no-margin,
.h5.no-margin,
.h6.no-margin,
h1.no-margin,
h2.no-margin,
h3.no-margin,
h4.no-margin,
h5.no-margin,
h6.no-margin {
    margin-top: .8rem
}

.h1.color-light,
.h2.color-light,
.h3.color-light,
.h4.color-light,
.h5.color-light,
.h6.color-light,
h1.color-light,
h2.color-light,
h3.color-light,
h4.color-light,
h5.color-light,
h6.color-light {
    color: rgba(13, 12, 9, .4)
}

.h1:before,
.h2:before,
.h3:before,
.h4:before,
.h5:before,
.h6:before,
h1:before,
h2:before,
h3:before,
h4:before,
h5:before,
h6:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.15em
}

.text-light .h1,
.text-light .h2,
.text-light .h3,
.text-light .h4,
.text-light .h5,
.text-light .h6,
.text-light h1,
.text-light h2,
.text-light h3,
.text-light h4,
.text-light h5,
.text-light h6 {
    color: #fffefc
}

.h1 strong,
.h2 strong,
.h3 strong,
.h4 strong,
.h5 strong,
.h6 strong,
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
    font-weight: 500
}

.h1,
h1 {
    font-size: clamp(48px, 6vw, 78px);
    line-height: 1.1
}

.h2,
h2 {
    font-size: clamp(42px, 4.4vw, 64px);
    line-height: 1.15
}

.h3,
h3 {
    font-size: clamp(32px, 3vw, 44px);
    line-height: 1.2
}

.h4,
h4 {
    font-size: clamp(28px, 2vw, 34px)
}

.h5,
h5 {
    font-size: clamp(24px, 1.4vw, 28px)
}

.h6,
h6 {
    font-size: clamp(20px, 1.4vw, 22px)
}

strong {
    font-weight: 500;
    color: #0d0c09
}

.text-light strong {
    color: #fffefc
}

.small,
small {
    font-size: .9em;
    line-height: 1.3
}

.colored,
.colored strong {
    color: #c769b0
}

blockquote {
    font-size: clamp(32px, 3vw, 44px);
    line-height: 1.3;
    color: #0d0c09
}

cite {
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 500;
    color: #23211e;
    display: block;
    text-decoration: none
}

address,
cite {
    margin-top: 3.2rem;
    font-style: normal
}

address:first-child {
    margin-top: 0 !important
}

.big-intro {
    line-height: 1.3
}

.big-intro,
.big-intro p {
    font-size: clamp(32px, 3vw, 44px);
    color: #0d0c09
}

.big-intro p {
    line-height: 1.3 !important
}

.notfound-404 {
    font-size: clamp(144px, 25vw, 320px);
    color: #0d0c09;
    line-height: 1.2;
    font-weight: 500
}

.notfound-404:before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: -.15em
}

p {
    margin-top: 3.2rem;
    margin-bottom: 0
}

p:first-child {
    margin-top: 0 !important
}

.p-btn,
p+.fs-media {
    margin-top: 3.2rem
}

.align-center {
    text-align: center
}

.align-right {
    text-align: right
}

@media only screen and (max-width:768px) {

    .big-intro,
    .big-intro p {
        font-size: clamp(28px, 2vw, 34px)
    }

    .align-right {
        text-align: left
    }
}

.wrapper,
.wrapper-full {
    width: 100%;
    max-width: 100%;
    padding: 0 3vw;
    margin: 0 auto;
    border: 0 solid transparent;
    position: relative
}

@media only screen and (max-width:768px) {

    .wrapper,
    .wrapper-full {
        padding: 0 2.4rem
    }
}

.grid-row {
    display: grid;
    grid-template-columns: repeat(24, 1fr);
    grid-gap: 8px
}

.grid-row .col-s1e1 {
    grid-column-start: 1;
    grid-column-end: 2
}

.grid-row .col-s1e2 {
    grid-column-start: 1;
    grid-column-end: 3
}

.grid-row .col-s1e3 {
    grid-column-start: 1;
    grid-column-end: 4
}

.grid-row .col-s1e4 {
    grid-column-start: 1;
    grid-column-end: 5
}

.grid-row .col-s1e5 {
    grid-column-start: 1;
    grid-column-end: 6
}

.grid-row .col-s1e6 {
    grid-column-start: 1;
    grid-column-end: 7
}

.grid-row .col-s1e7 {
    grid-column-start: 1;
    grid-column-end: 8
}

.grid-row .col-s1e8 {
    grid-column-start: 1;
    grid-column-end: 9
}

.grid-row .col-s1e9 {
    grid-column-start: 1;
    grid-column-end: 10
}

.grid-row .col-s1e10 {
    grid-column-start: 1;
    grid-column-end: 11
}

.grid-row .col-s1e11 {
    grid-column-start: 1;
    grid-column-end: 12
}

.grid-row .col-s1e12 {
    grid-column-start: 1;
    grid-column-end: 13
}

.grid-row .col-s1e13 {
    grid-column-start: 1;
    grid-column-end: 14
}

.grid-row .col-s1e14 {
    grid-column-start: 1;
    grid-column-end: 15
}

.grid-row .col-s1e15 {
    grid-column-start: 1;
    grid-column-end: 16
}

.grid-row .col-s1e16 {
    grid-column-start: 1;
    grid-column-end: 17
}

.grid-row .col-s1e17 {
    grid-column-start: 1;
    grid-column-end: 18
}

.grid-row .col-s1e18 {
    grid-column-start: 1;
    grid-column-end: 19
}

.grid-row .col-s1e19 {
    grid-column-start: 1;
    grid-column-end: 20
}

.grid-row .col-s1e20 {
    grid-column-start: 1;
    grid-column-end: 21
}

.grid-row .col-s1e21 {
    grid-column-start: 1;
    grid-column-end: 22
}

.grid-row .col-s1e22 {
    grid-column-start: 1;
    grid-column-end: 23
}

.grid-row .col-s1e23 {
    grid-column-start: 1;
    grid-column-end: 24
}

.grid-row .col-s1e24 {
    grid-column-start: 1;
    grid-column-end: 25
}

.grid-row .col-s2e1 {
    grid-column-start: 2;
    grid-column-end: 2
}

.grid-row .col-s2e2 {
    grid-column-start: 2;
    grid-column-end: 3
}

.grid-row .col-s2e3 {
    grid-column-start: 2;
    grid-column-end: 4
}

.grid-row .col-s2e4 {
    grid-column-start: 2;
    grid-column-end: 5
}

.grid-row .col-s2e5 {
    grid-column-start: 2;
    grid-column-end: 6
}

.grid-row .col-s2e6 {
    grid-column-start: 2;
    grid-column-end: 7
}

.grid-row .col-s2e7 {
    grid-column-start: 2;
    grid-column-end: 8
}

.grid-row .col-s2e8 {
    grid-column-start: 2;
    grid-column-end: 9
}

.grid-row .col-s2e9 {
    grid-column-start: 2;
    grid-column-end: 10
}

.grid-row .col-s2e10 {
    grid-column-start: 2;
    grid-column-end: 11
}

.grid-row .col-s2e11 {
    grid-column-start: 2;
    grid-column-end: 12
}

.grid-row .col-s2e12 {
    grid-column-start: 2;
    grid-column-end: 13
}

.grid-row .col-s2e13 {
    grid-column-start: 2;
    grid-column-end: 14
}

.grid-row .col-s2e14 {
    grid-column-start: 2;
    grid-column-end: 15
}

.grid-row .col-s2e15 {
    grid-column-start: 2;
    grid-column-end: 16
}

.grid-row .col-s2e16 {
    grid-column-start: 2;
    grid-column-end: 17
}

.grid-row .col-s2e17 {
    grid-column-start: 2;
    grid-column-end: 18
}

.grid-row .col-s2e18 {
    grid-column-start: 2;
    grid-column-end: 19
}

.grid-row .col-s2e19 {
    grid-column-start: 2;
    grid-column-end: 20
}

.grid-row .col-s2e20 {
    grid-column-start: 2;
    grid-column-end: 21
}

.grid-row .col-s2e21 {
    grid-column-start: 2;
    grid-column-end: 22
}

.grid-row .col-s2e22 {
    grid-column-start: 2;
    grid-column-end: 23
}

.grid-row .col-s2e23 {
    grid-column-start: 2;
    grid-column-end: 24
}

.grid-row .col-s2e24 {
    grid-column-start: 2;
    grid-column-end: 25
}

.grid-row .col-s3e1 {
    grid-column-start: 3;
    grid-column-end: 2
}

.grid-row .col-s3e2 {
    grid-column-start: 3;
    grid-column-end: 3
}

.grid-row .col-s3e3 {
    grid-column-start: 3;
    grid-column-end: 4
}

.grid-row .col-s3e4 {
    grid-column-start: 3;
    grid-column-end: 5
}

.grid-row .col-s3e5 {
    grid-column-start: 3;
    grid-column-end: 6
}

.grid-row .col-s3e6 {
    grid-column-start: 3;
    grid-column-end: 7
}

.grid-row .col-s3e7 {
    grid-column-start: 3;
    grid-column-end: 8
}

.grid-row .col-s3e8 {
    grid-column-start: 3;
    grid-column-end: 9
}

.grid-row .col-s3e9 {
    grid-column-start: 3;
    grid-column-end: 10
}

.grid-row .col-s3e10 {
    grid-column-start: 3;
    grid-column-end: 11
}

.grid-row .col-s3e11 {
    grid-column-start: 3;
    grid-column-end: 12
}

.grid-row .col-s3e12 {
    grid-column-start: 3;
    grid-column-end: 13
}

.grid-row .col-s3e13 {
    grid-column-start: 3;
    grid-column-end: 14
}

.grid-row .col-s3e14 {
    grid-column-start: 3;
    grid-column-end: 15
}

.grid-row .col-s3e15 {
    grid-column-start: 3;
    grid-column-end: 16
}

.grid-row .col-s3e16 {
    grid-column-start: 3;
    grid-column-end: 17
}

.grid-row .col-s3e17 {
    grid-column-start: 3;
    grid-column-end: 18
}

.grid-row .col-s3e18 {
    grid-column-start: 3;
    grid-column-end: 19
}

.grid-row .col-s3e19 {
    grid-column-start: 3;
    grid-column-end: 20
}

.grid-row .col-s3e20 {
    grid-column-start: 3;
    grid-column-end: 21
}

.grid-row .col-s3e21 {
    grid-column-start: 3;
    grid-column-end: 22
}

.grid-row .col-s3e22 {
    grid-column-start: 3;
    grid-column-end: 23
}

.grid-row .col-s3e23 {
    grid-column-start: 3;
    grid-column-end: 24
}

.grid-row .col-s3e24 {
    grid-column-start: 3;
    grid-column-end: 25
}

.grid-row .col-s4e1 {
    grid-column-start: 4;
    grid-column-end: 2
}

.grid-row .col-s4e2 {
    grid-column-start: 4;
    grid-column-end: 3
}

.grid-row .col-s4e3 {
    grid-column-start: 4;
    grid-column-end: 4
}

.grid-row .col-s4e4 {
    grid-column-start: 4;
    grid-column-end: 5
}

.grid-row .col-s4e5 {
    grid-column-start: 4;
    grid-column-end: 6
}

.grid-row .col-s4e6 {
    grid-column-start: 4;
    grid-column-end: 7
}

.grid-row .col-s4e7 {
    grid-column-start: 4;
    grid-column-end: 8
}

.grid-row .col-s4e8 {
    grid-column-start: 4;
    grid-column-end: 9
}

.grid-row .col-s4e9 {
    grid-column-start: 4;
    grid-column-end: 10
}

.grid-row .col-s4e10 {
    grid-column-start: 4;
    grid-column-end: 11
}

.grid-row .col-s4e11 {
    grid-column-start: 4;
    grid-column-end: 12
}

.grid-row .col-s4e12 {
    grid-column-start: 4;
    grid-column-end: 13
}

.grid-row .col-s4e13 {
    grid-column-start: 4;
    grid-column-end: 14
}

.grid-row .col-s4e14 {
    grid-column-start: 4;
    grid-column-end: 15
}

.grid-row .col-s4e15 {
    grid-column-start: 4;
    grid-column-end: 16
}

.grid-row .col-s4e16 {
    grid-column-start: 4;
    grid-column-end: 17
}

.grid-row .col-s4e17 {
    grid-column-start: 4;
    grid-column-end: 18
}

.grid-row .col-s4e18 {
    grid-column-start: 4;
    grid-column-end: 19
}

.grid-row .col-s4e19 {
    grid-column-start: 4;
    grid-column-end: 20
}

.grid-row .col-s4e20 {
    grid-column-start: 4;
    grid-column-end: 21
}

.grid-row .col-s4e21 {
    grid-column-start: 4;
    grid-column-end: 22
}

.grid-row .col-s4e22 {
    grid-column-start: 4;
    grid-column-end: 23
}

.grid-row .col-s4e23 {
    grid-column-start: 4;
    grid-column-end: 24
}

.grid-row .col-s4e24 {
    grid-column-start: 4;
    grid-column-end: 25
}

.grid-row .col-s5e1 {
    grid-column-start: 5;
    grid-column-end: 2
}

.grid-row .col-s5e2 {
    grid-column-start: 5;
    grid-column-end: 3
}

.grid-row .col-s5e3 {
    grid-column-start: 5;
    grid-column-end: 4
}

.grid-row .col-s5e4 {
    grid-column-start: 5;
    grid-column-end: 5
}

.grid-row .col-s5e5 {
    grid-column-start: 5;
    grid-column-end: 6
}

.grid-row .col-s5e6 {
    grid-column-start: 5;
    grid-column-end: 7
}

.grid-row .col-s5e7 {
    grid-column-start: 5;
    grid-column-end: 8
}

.grid-row .col-s5e8 {
    grid-column-start: 5;
    grid-column-end: 9
}

.grid-row .col-s5e9 {
    grid-column-start: 5;
    grid-column-end: 10
}

.grid-row .col-s5e10 {
    grid-column-start: 5;
    grid-column-end: 11
}

.grid-row .col-s5e11 {
    grid-column-start: 5;
    grid-column-end: 12
}

.grid-row .col-s5e12 {
    grid-column-start: 5;
    grid-column-end: 13
}

.grid-row .col-s5e13 {
    grid-column-start: 5;
    grid-column-end: 14
}

.grid-row .col-s5e14 {
    grid-column-start: 5;
    grid-column-end: 15
}

.grid-row .col-s5e15 {
    grid-column-start: 5;
    grid-column-end: 16
}

.grid-row .col-s5e16 {
    grid-column-start: 5;
    grid-column-end: 17
}

.grid-row .col-s5e17 {
    grid-column-start: 5;
    grid-column-end: 18
}

.grid-row .col-s5e18 {
    grid-column-start: 5;
    grid-column-end: 19
}

.grid-row .col-s5e19 {
    grid-column-start: 5;
    grid-column-end: 20
}

.grid-row .col-s5e20 {
    grid-column-start: 5;
    grid-column-end: 21
}

.grid-row .col-s5e21 {
    grid-column-start: 5;
    grid-column-end: 22
}

.grid-row .col-s5e22 {
    grid-column-start: 5;
    grid-column-end: 23
}

.grid-row .col-s5e23 {
    grid-column-start: 5;
    grid-column-end: 24
}

.grid-row .col-s5e24 {
    grid-column-start: 5;
    grid-column-end: 25
}

.grid-row .col-s6e1 {
    grid-column-start: 6;
    grid-column-end: 2
}

.grid-row .col-s6e2 {
    grid-column-start: 6;
    grid-column-end: 3
}

.grid-row .col-s6e3 {
    grid-column-start: 6;
    grid-column-end: 4
}

.grid-row .col-s6e4 {
    grid-column-start: 6;
    grid-column-end: 5
}

.grid-row .col-s6e5 {
    grid-column-start: 6;
    grid-column-end: 6
}

.grid-row .col-s6e6 {
    grid-column-start: 6;
    grid-column-end: 7
}

.grid-row .col-s6e7 {
    grid-column-start: 6;
    grid-column-end: 8
}

.grid-row .col-s6e8 {
    grid-column-start: 6;
    grid-column-end: 9
}

.grid-row .col-s6e9 {
    grid-column-start: 6;
    grid-column-end: 10
}

.grid-row .col-s6e10 {
    grid-column-start: 6;
    grid-column-end: 11
}

.grid-row .col-s6e11 {
    grid-column-start: 6;
    grid-column-end: 12
}

.grid-row .col-s6e12 {
    grid-column-start: 6;
    grid-column-end: 13
}

.grid-row .col-s6e13 {
    grid-column-start: 6;
    grid-column-end: 14
}

.grid-row .col-s6e14 {
    grid-column-start: 6;
    grid-column-end: 15
}

.grid-row .col-s6e15 {
    grid-column-start: 6;
    grid-column-end: 16
}

.grid-row .col-s6e16 {
    grid-column-start: 6;
    grid-column-end: 17
}

.grid-row .col-s6e17 {
    grid-column-start: 6;
    grid-column-end: 18
}

.grid-row .col-s6e18 {
    grid-column-start: 6;
    grid-column-end: 19
}

.grid-row .col-s6e19 {
    grid-column-start: 6;
    grid-column-end: 20
}

.grid-row .col-s6e20 {
    grid-column-start: 6;
    grid-column-end: 21
}

.grid-row .col-s6e21 {
    grid-column-start: 6;
    grid-column-end: 22
}

.grid-row .col-s6e22 {
    grid-column-start: 6;
    grid-column-end: 23
}

.grid-row .col-s6e23 {
    grid-column-start: 6;
    grid-column-end: 24
}

.grid-row .col-s6e24 {
    grid-column-start: 6;
    grid-column-end: 25
}

.grid-row .col-s7e1 {
    grid-column-start: 7;
    grid-column-end: 2
}

.grid-row .col-s7e2 {
    grid-column-start: 7;
    grid-column-end: 3
}

.grid-row .col-s7e3 {
    grid-column-start: 7;
    grid-column-end: 4
}

.grid-row .col-s7e4 {
    grid-column-start: 7;
    grid-column-end: 5
}

.grid-row .col-s7e5 {
    grid-column-start: 7;
    grid-column-end: 6
}

.grid-row .col-s7e6 {
    grid-column-start: 7;
    grid-column-end: 7
}

.grid-row .col-s7e7 {
    grid-column-start: 7;
    grid-column-end: 8
}

.grid-row .col-s7e8 {
    grid-column-start: 7;
    grid-column-end: 9
}

.grid-row .col-s7e9 {
    grid-column-start: 7;
    grid-column-end: 10
}

.grid-row .col-s7e10 {
    grid-column-start: 7;
    grid-column-end: 11
}

.grid-row .col-s7e11 {
    grid-column-start: 7;
    grid-column-end: 12
}

.grid-row .col-s7e12 {
    grid-column-start: 7;
    grid-column-end: 13
}

.grid-row .col-s7e13 {
    grid-column-start: 7;
    grid-column-end: 14
}

.grid-row .col-s7e14 {
    grid-column-start: 7;
    grid-column-end: 15
}

.grid-row .col-s7e15 {
    grid-column-start: 7;
    grid-column-end: 16
}

.grid-row .col-s7e16 {
    grid-column-start: 7;
    grid-column-end: 17
}

.grid-row .col-s7e17 {
    grid-column-start: 7;
    grid-column-end: 18
}

.grid-row .col-s7e18 {
    grid-column-start: 7;
    grid-column-end: 19
}

.grid-row .col-s7e19 {
    grid-column-start: 7;
    grid-column-end: 20
}

.grid-row .col-s7e20 {
    grid-column-start: 7;
    grid-column-end: 21
}

.grid-row .col-s7e21 {
    grid-column-start: 7;
    grid-column-end: 22
}

.grid-row .col-s7e22 {
    grid-column-start: 7;
    grid-column-end: 23
}

.grid-row .col-s7e23 {
    grid-column-start: 7;
    grid-column-end: 24
}

.grid-row .col-s7e24 {
    grid-column-start: 7;
    grid-column-end: 25
}

.grid-row .col-s8e1 {
    grid-column-start: 8;
    grid-column-end: 2
}

.grid-row .col-s8e2 {
    grid-column-start: 8;
    grid-column-end: 3
}

.grid-row .col-s8e3 {
    grid-column-start: 8;
    grid-column-end: 4
}

.grid-row .col-s8e4 {
    grid-column-start: 8;
    grid-column-end: 5
}

.grid-row .col-s8e5 {
    grid-column-start: 8;
    grid-column-end: 6
}

.grid-row .col-s8e6 {
    grid-column-start: 8;
    grid-column-end: 7
}

.grid-row .col-s8e7 {
    grid-column-start: 8;
    grid-column-end: 8
}

.grid-row .col-s8e8 {
    grid-column-start: 8;
    grid-column-end: 9
}

.grid-row .col-s8e9 {
    grid-column-start: 8;
    grid-column-end: 10
}

.grid-row .col-s8e10 {
    grid-column-start: 8;
    grid-column-end: 11
}

.grid-row .col-s8e11 {
    grid-column-start: 8;
    grid-column-end: 12
}

.grid-row .col-s8e12 {
    grid-column-start: 8;
    grid-column-end: 13
}

.grid-row .col-s8e13 {
    grid-column-start: 8;
    grid-column-end: 14
}

.grid-row .col-s8e14 {
    grid-column-start: 8;
    grid-column-end: 15
}

.grid-row .col-s8e15 {
    grid-column-start: 8;
    grid-column-end: 16
}

.grid-row .col-s8e16 {
    grid-column-start: 8;
    grid-column-end: 17
}

.grid-row .col-s8e17 {
    grid-column-start: 8;
    grid-column-end: 18
}

.grid-row .col-s8e18 {
    grid-column-start: 8;
    grid-column-end: 19
}

.grid-row .col-s8e19 {
    grid-column-start: 8;
    grid-column-end: 20
}

.grid-row .col-s8e20 {
    grid-column-start: 8;
    grid-column-end: 21
}

.grid-row .col-s8e21 {
    grid-column-start: 8;
    grid-column-end: 22
}

.grid-row .col-s8e22 {
    grid-column-start: 8;
    grid-column-end: 23
}

.grid-row .col-s8e23 {
    grid-column-start: 8;
    grid-column-end: 24
}

.grid-row .col-s8e24 {
    grid-column-start: 8;
    grid-column-end: 25
}

.grid-row .col-s9e1 {
    grid-column-start: 9;
    grid-column-end: 2
}

.grid-row .col-s9e2 {
    grid-column-start: 9;
    grid-column-end: 3
}

.grid-row .col-s9e3 {
    grid-column-start: 9;
    grid-column-end: 4
}

.grid-row .col-s9e4 {
    grid-column-start: 9;
    grid-column-end: 5
}

.grid-row .col-s9e5 {
    grid-column-start: 9;
    grid-column-end: 6
}

.grid-row .col-s9e6 {
    grid-column-start: 9;
    grid-column-end: 7
}

.grid-row .col-s9e7 {
    grid-column-start: 9;
    grid-column-end: 8
}

.grid-row .col-s9e8 {
    grid-column-start: 9;
    grid-column-end: 9
}

.grid-row .col-s9e9 {
    grid-column-start: 9;
    grid-column-end: 10
}

.grid-row .col-s9e10 {
    grid-column-start: 9;
    grid-column-end: 11
}

.grid-row .col-s9e11 {
    grid-column-start: 9;
    grid-column-end: 12
}

.grid-row .col-s9e12 {
    grid-column-start: 9;
    grid-column-end: 13
}

.grid-row .col-s9e13 {
    grid-column-start: 9;
    grid-column-end: 14
}

.grid-row .col-s9e14 {
    grid-column-start: 9;
    grid-column-end: 15
}

.grid-row .col-s9e15 {
    grid-column-start: 9;
    grid-column-end: 16
}

.grid-row .col-s9e16 {
    grid-column-start: 9;
    grid-column-end: 17
}

.grid-row .col-s9e17 {
    grid-column-start: 9;
    grid-column-end: 18
}

.grid-row .col-s9e18 {
    grid-column-start: 9;
    grid-column-end: 19
}

.grid-row .col-s9e19 {
    grid-column-start: 9;
    grid-column-end: 20
}

.grid-row .col-s9e20 {
    grid-column-start: 9;
    grid-column-end: 21
}

.grid-row .col-s9e21 {
    grid-column-start: 9;
    grid-column-end: 22
}

.grid-row .col-s9e22 {
    grid-column-start: 9;
    grid-column-end: 23
}

.grid-row .col-s9e23 {
    grid-column-start: 9;
    grid-column-end: 24
}

.grid-row .col-s9e24 {
    grid-column-start: 9;
    grid-column-end: 25
}

.grid-row .col-s10e1 {
    grid-column-start: 10;
    grid-column-end: 2
}

.grid-row .col-s10e2 {
    grid-column-start: 10;
    grid-column-end: 3
}

.grid-row .col-s10e3 {
    grid-column-start: 10;
    grid-column-end: 4
}

.grid-row .col-s10e4 {
    grid-column-start: 10;
    grid-column-end: 5
}

.grid-row .col-s10e5 {
    grid-column-start: 10;
    grid-column-end: 6
}

.grid-row .col-s10e6 {
    grid-column-start: 10;
    grid-column-end: 7
}

.grid-row .col-s10e7 {
    grid-column-start: 10;
    grid-column-end: 8
}

.grid-row .col-s10e8 {
    grid-column-start: 10;
    grid-column-end: 9
}

.grid-row .col-s10e9 {
    grid-column-start: 10;
    grid-column-end: 10
}

.grid-row .col-s10e10 {
    grid-column-start: 10;
    grid-column-end: 11
}

.grid-row .col-s10e11 {
    grid-column-start: 10;
    grid-column-end: 12
}

.grid-row .col-s10e12 {
    grid-column-start: 10;
    grid-column-end: 13
}

.grid-row .col-s10e13 {
    grid-column-start: 10;
    grid-column-end: 14
}

.grid-row .col-s10e14 {
    grid-column-start: 10;
    grid-column-end: 15
}

.grid-row .col-s10e15 {
    grid-column-start: 10;
    grid-column-end: 16
}

.grid-row .col-s10e16 {
    grid-column-start: 10;
    grid-column-end: 17
}

.grid-row .col-s10e17 {
    grid-column-start: 10;
    grid-column-end: 18
}

.grid-row .col-s10e18 {
    grid-column-start: 10;
    grid-column-end: 19
}

.grid-row .col-s10e19 {
    grid-column-start: 10;
    grid-column-end: 20
}

.grid-row .col-s10e20 {
    grid-column-start: 10;
    grid-column-end: 21
}

.grid-row .col-s10e21 {
    grid-column-start: 10;
    grid-column-end: 22
}

.grid-row .col-s10e22 {
    grid-column-start: 10;
    grid-column-end: 23
}

.grid-row .col-s10e23 {
    grid-column-start: 10;
    grid-column-end: 24
}

.grid-row .col-s10e24 {
    grid-column-start: 10;
    grid-column-end: 25
}

.grid-row .col-s11e1 {
    grid-column-start: 11;
    grid-column-end: 2
}

.grid-row .col-s11e2 {
    grid-column-start: 11;
    grid-column-end: 3
}

.grid-row .col-s11e3 {
    grid-column-start: 11;
    grid-column-end: 4
}

.grid-row .col-s11e4 {
    grid-column-start: 11;
    grid-column-end: 5
}

.grid-row .col-s11e5 {
    grid-column-start: 11;
    grid-column-end: 6
}

.grid-row .col-s11e6 {
    grid-column-start: 11;
    grid-column-end: 7
}

.grid-row .col-s11e7 {
    grid-column-start: 11;
    grid-column-end: 8
}

.grid-row .col-s11e8 {
    grid-column-start: 11;
    grid-column-end: 9
}

.grid-row .col-s11e9 {
    grid-column-start: 11;
    grid-column-end: 10
}

.grid-row .col-s11e10 {
    grid-column-start: 11;
    grid-column-end: 11
}

.grid-row .col-s11e11 {
    grid-column-start: 11;
    grid-column-end: 12
}

.grid-row .col-s11e12 {
    grid-column-start: 11;
    grid-column-end: 13
}

.grid-row .col-s11e13 {
    grid-column-start: 11;
    grid-column-end: 14
}

.grid-row .col-s11e14 {
    grid-column-start: 11;
    grid-column-end: 15
}

.grid-row .col-s11e15 {
    grid-column-start: 11;
    grid-column-end: 16
}

.grid-row .col-s11e16 {
    grid-column-start: 11;
    grid-column-end: 17
}

.grid-row .col-s11e17 {
    grid-column-start: 11;
    grid-column-end: 18
}

.grid-row .col-s11e18 {
    grid-column-start: 11;
    grid-column-end: 19
}

.grid-row .col-s11e19 {
    grid-column-start: 11;
    grid-column-end: 20
}

.grid-row .col-s11e20 {
    grid-column-start: 11;
    grid-column-end: 21
}

.grid-row .col-s11e21 {
    grid-column-start: 11;
    grid-column-end: 22
}

.grid-row .col-s11e22 {
    grid-column-start: 11;
    grid-column-end: 23
}

.grid-row .col-s11e23 {
    grid-column-start: 11;
    grid-column-end: 24
}

.grid-row .col-s11e24 {
    grid-column-start: 11;
    grid-column-end: 25
}

.grid-row .col-s12e1 {
    grid-column-start: 12;
    grid-column-end: 2
}

.grid-row .col-s12e2 {
    grid-column-start: 12;
    grid-column-end: 3
}

.grid-row .col-s12e3 {
    grid-column-start: 12;
    grid-column-end: 4
}

.grid-row .col-s12e4 {
    grid-column-start: 12;
    grid-column-end: 5
}

.grid-row .col-s12e5 {
    grid-column-start: 12;
    grid-column-end: 6
}

.grid-row .col-s12e6 {
    grid-column-start: 12;
    grid-column-end: 7
}

.grid-row .col-s12e7 {
    grid-column-start: 12;
    grid-column-end: 8
}

.grid-row .col-s12e8 {
    grid-column-start: 12;
    grid-column-end: 9
}

.grid-row .col-s12e9 {
    grid-column-start: 12;
    grid-column-end: 10
}

.grid-row .col-s12e10 {
    grid-column-start: 12;
    grid-column-end: 11
}

.grid-row .col-s12e11 {
    grid-column-start: 12;
    grid-column-end: 12
}

.grid-row .col-s12e12 {
    grid-column-start: 12;
    grid-column-end: 13
}

.grid-row .col-s12e13 {
    grid-column-start: 12;
    grid-column-end: 14
}

.grid-row .col-s12e14 {
    grid-column-start: 12;
    grid-column-end: 15
}

.grid-row .col-s12e15 {
    grid-column-start: 12;
    grid-column-end: 16
}

.grid-row .col-s12e16 {
    grid-column-start: 12;
    grid-column-end: 17
}

.grid-row .col-s12e17 {
    grid-column-start: 12;
    grid-column-end: 18
}

.grid-row .col-s12e18 {
    grid-column-start: 12;
    grid-column-end: 19
}

.grid-row .col-s12e19 {
    grid-column-start: 12;
    grid-column-end: 20
}

.grid-row .col-s12e20 {
    grid-column-start: 12;
    grid-column-end: 21
}

.grid-row .col-s12e21 {
    grid-column-start: 12;
    grid-column-end: 22
}

.grid-row .col-s12e22 {
    grid-column-start: 12;
    grid-column-end: 23
}

.grid-row .col-s12e23 {
    grid-column-start: 12;
    grid-column-end: 24
}

.grid-row .col-s12e24 {
    grid-column-start: 12;
    grid-column-end: 25
}

.grid-row .col-s13e1 {
    grid-column-start: 13;
    grid-column-end: 2
}

.grid-row .col-s13e2 {
    grid-column-start: 13;
    grid-column-end: 3
}

.grid-row .col-s13e3 {
    grid-column-start: 13;
    grid-column-end: 4
}

.grid-row .col-s13e4 {
    grid-column-start: 13;
    grid-column-end: 5
}

.grid-row .col-s13e5 {
    grid-column-start: 13;
    grid-column-end: 6
}

.grid-row .col-s13e6 {
    grid-column-start: 13;
    grid-column-end: 7
}

.grid-row .col-s13e7 {
    grid-column-start: 13;
    grid-column-end: 8
}

.grid-row .col-s13e8 {
    grid-column-start: 13;
    grid-column-end: 9
}

.grid-row .col-s13e9 {
    grid-column-start: 13;
    grid-column-end: 10
}

.grid-row .col-s13e10 {
    grid-column-start: 13;
    grid-column-end: 11
}

.grid-row .col-s13e11 {
    grid-column-start: 13;
    grid-column-end: 12
}

.grid-row .col-s13e12 {
    grid-column-start: 13;
    grid-column-end: 13
}

.grid-row .col-s13e13 {
    grid-column-start: 13;
    grid-column-end: 14
}

.grid-row .col-s13e14 {
    grid-column-start: 13;
    grid-column-end: 15
}

.grid-row .col-s13e15 {
    grid-column-start: 13;
    grid-column-end: 16
}

.grid-row .col-s13e16 {
    grid-column-start: 13;
    grid-column-end: 17
}

.grid-row .col-s13e17 {
    grid-column-start: 13;
    grid-column-end: 18
}

.grid-row .col-s13e18 {
    grid-column-start: 13;
    grid-column-end: 19
}

.grid-row .col-s13e19 {
    grid-column-start: 13;
    grid-column-end: 20
}

.grid-row .col-s13e20 {
    grid-column-start: 13;
    grid-column-end: 21
}

.grid-row .col-s13e21 {
    grid-column-start: 13;
    grid-column-end: 22
}

.grid-row .col-s13e22 {
    grid-column-start: 13;
    grid-column-end: 23
}

.grid-row .col-s13e23 {
    grid-column-start: 13;
    grid-column-end: 24
}

.grid-row .col-s13e24 {
    grid-column-start: 13;
    grid-column-end: 25
}

.grid-row .col-s14e1 {
    grid-column-start: 14;
    grid-column-end: 2
}

.grid-row .col-s14e2 {
    grid-column-start: 14;
    grid-column-end: 3
}

.grid-row .col-s14e3 {
    grid-column-start: 14;
    grid-column-end: 4
}

.grid-row .col-s14e4 {
    grid-column-start: 14;
    grid-column-end: 5
}

.grid-row .col-s14e5 {
    grid-column-start: 14;
    grid-column-end: 6
}

.grid-row .col-s14e6 {
    grid-column-start: 14;
    grid-column-end: 7
}

.grid-row .col-s14e7 {
    grid-column-start: 14;
    grid-column-end: 8
}

.grid-row .col-s14e8 {
    grid-column-start: 14;
    grid-column-end: 9
}

.grid-row .col-s14e9 {
    grid-column-start: 14;
    grid-column-end: 10
}

.grid-row .col-s14e10 {
    grid-column-start: 14;
    grid-column-end: 11
}

.grid-row .col-s14e11 {
    grid-column-start: 14;
    grid-column-end: 12
}

.grid-row .col-s14e12 {
    grid-column-start: 14;
    grid-column-end: 13
}

.grid-row .col-s14e13 {
    grid-column-start: 14;
    grid-column-end: 14
}

.grid-row .col-s14e14 {
    grid-column-start: 14;
    grid-column-end: 15
}

.grid-row .col-s14e15 {
    grid-column-start: 14;
    grid-column-end: 16
}

.grid-row .col-s14e16 {
    grid-column-start: 14;
    grid-column-end: 17
}

.grid-row .col-s14e17 {
    grid-column-start: 14;
    grid-column-end: 18
}

.grid-row .col-s14e18 {
    grid-column-start: 14;
    grid-column-end: 19
}

.grid-row .col-s14e19 {
    grid-column-start: 14;
    grid-column-end: 20
}

.grid-row .col-s14e20 {
    grid-column-start: 14;
    grid-column-end: 21
}

.grid-row .col-s14e21 {
    grid-column-start: 14;
    grid-column-end: 22
}

.grid-row .col-s14e22 {
    grid-column-start: 14;
    grid-column-end: 23
}

.grid-row .col-s14e23 {
    grid-column-start: 14;
    grid-column-end: 24
}

.grid-row .col-s14e24 {
    grid-column-start: 14;
    grid-column-end: 25
}

.grid-row .col-s15e1 {
    grid-column-start: 15;
    grid-column-end: 2
}

.grid-row .col-s15e2 {
    grid-column-start: 15;
    grid-column-end: 3
}

.grid-row .col-s15e3 {
    grid-column-start: 15;
    grid-column-end: 4
}

.grid-row .col-s15e4 {
    grid-column-start: 15;
    grid-column-end: 5
}

.grid-row .col-s15e5 {
    grid-column-start: 15;
    grid-column-end: 6
}

.grid-row .col-s15e6 {
    grid-column-start: 15;
    grid-column-end: 7
}

.grid-row .col-s15e7 {
    grid-column-start: 15;
    grid-column-end: 8
}

.grid-row .col-s15e8 {
    grid-column-start: 15;
    grid-column-end: 9
}

.grid-row .col-s15e9 {
    grid-column-start: 15;
    grid-column-end: 10
}

.grid-row .col-s15e10 {
    grid-column-start: 15;
    grid-column-end: 11
}

.grid-row .col-s15e11 {
    grid-column-start: 15;
    grid-column-end: 12
}

.grid-row .col-s15e12 {
    grid-column-start: 15;
    grid-column-end: 13
}

.grid-row .col-s15e13 {
    grid-column-start: 15;
    grid-column-end: 14
}

.grid-row .col-s15e14 {
    grid-column-start: 15;
    grid-column-end: 15
}

.grid-row .col-s15e15 {
    grid-column-start: 15;
    grid-column-end: 16
}

.grid-row .col-s15e16 {
    grid-column-start: 15;
    grid-column-end: 17
}

.grid-row .col-s15e17 {
    grid-column-start: 15;
    grid-column-end: 18
}

.grid-row .col-s15e18 {
    grid-column-start: 15;
    grid-column-end: 19
}

.grid-row .col-s15e19 {
    grid-column-start: 15;
    grid-column-end: 20
}

.grid-row .col-s15e20 {
    grid-column-start: 15;
    grid-column-end: 21
}

.grid-row .col-s15e21 {
    grid-column-start: 15;
    grid-column-end: 22
}

.grid-row .col-s15e22 {
    grid-column-start: 15;
    grid-column-end: 23
}

.grid-row .col-s15e23 {
    grid-column-start: 15;
    grid-column-end: 24
}

.grid-row .col-s15e24 {
    grid-column-start: 15;
    grid-column-end: 25
}

.grid-row .col-s16e1 {
    grid-column-start: 16;
    grid-column-end: 2
}

.grid-row .col-s16e2 {
    grid-column-start: 16;
    grid-column-end: 3
}

.grid-row .col-s16e3 {
    grid-column-start: 16;
    grid-column-end: 4
}

.grid-row .col-s16e4 {
    grid-column-start: 16;
    grid-column-end: 5
}

.grid-row .col-s16e5 {
    grid-column-start: 16;
    grid-column-end: 6
}

.grid-row .col-s16e6 {
    grid-column-start: 16;
    grid-column-end: 7
}

.grid-row .col-s16e7 {
    grid-column-start: 16;
    grid-column-end: 8
}

.grid-row .col-s16e8 {
    grid-column-start: 16;
    grid-column-end: 9
}

.grid-row .col-s16e9 {
    grid-column-start: 16;
    grid-column-end: 10
}

.grid-row .col-s16e10 {
    grid-column-start: 16;
    grid-column-end: 11
}

.grid-row .col-s16e11 {
    grid-column-start: 16;
    grid-column-end: 12
}

.grid-row .col-s16e12 {
    grid-column-start: 16;
    grid-column-end: 13
}

.grid-row .col-s16e13 {
    grid-column-start: 16;
    grid-column-end: 14
}

.grid-row .col-s16e14 {
    grid-column-start: 16;
    grid-column-end: 15
}

.grid-row .col-s16e15 {
    grid-column-start: 16;
    grid-column-end: 16
}

.grid-row .col-s16e16 {
    grid-column-start: 16;
    grid-column-end: 17
}

.grid-row .col-s16e17 {
    grid-column-start: 16;
    grid-column-end: 18
}

.grid-row .col-s16e18 {
    grid-column-start: 16;
    grid-column-end: 19
}

.grid-row .col-s16e19 {
    grid-column-start: 16;
    grid-column-end: 20
}

.grid-row .col-s16e20 {
    grid-column-start: 16;
    grid-column-end: 21
}

.grid-row .col-s16e21 {
    grid-column-start: 16;
    grid-column-end: 22
}

.grid-row .col-s16e22 {
    grid-column-start: 16;
    grid-column-end: 23
}

.grid-row .col-s16e23 {
    grid-column-start: 16;
    grid-column-end: 24
}

.grid-row .col-s16e24 {
    grid-column-start: 16;
    grid-column-end: 25
}

.grid-row .col-s17e1 {
    grid-column-start: 17;
    grid-column-end: 2
}

.grid-row .col-s17e2 {
    grid-column-start: 17;
    grid-column-end: 3
}

.grid-row .col-s17e3 {
    grid-column-start: 17;
    grid-column-end: 4
}

.grid-row .col-s17e4 {
    grid-column-start: 17;
    grid-column-end: 5
}

.grid-row .col-s17e5 {
    grid-column-start: 17;
    grid-column-end: 6
}

.grid-row .col-s17e6 {
    grid-column-start: 17;
    grid-column-end: 7
}

.grid-row .col-s17e7 {
    grid-column-start: 17;
    grid-column-end: 8
}

.grid-row .col-s17e8 {
    grid-column-start: 17;
    grid-column-end: 9
}

.grid-row .col-s17e9 {
    grid-column-start: 17;
    grid-column-end: 10
}

.grid-row .col-s17e10 {
    grid-column-start: 17;
    grid-column-end: 11
}

.grid-row .col-s17e11 {
    grid-column-start: 17;
    grid-column-end: 12
}

.grid-row .col-s17e12 {
    grid-column-start: 17;
    grid-column-end: 13
}

.grid-row .col-s17e13 {
    grid-column-start: 17;
    grid-column-end: 14
}

.grid-row .col-s17e14 {
    grid-column-start: 17;
    grid-column-end: 15
}

.grid-row .col-s17e15 {
    grid-column-start: 17;
    grid-column-end: 16
}

.grid-row .col-s17e16 {
    grid-column-start: 17;
    grid-column-end: 17
}

.grid-row .col-s17e17 {
    grid-column-start: 17;
    grid-column-end: 18
}

.grid-row .col-s17e18 {
    grid-column-start: 17;
    grid-column-end: 19
}

.grid-row .col-s17e19 {
    grid-column-start: 17;
    grid-column-end: 20
}

.grid-row .col-s17e20 {
    grid-column-start: 17;
    grid-column-end: 21
}

.grid-row .col-s17e21 {
    grid-column-start: 17;
    grid-column-end: 22
}

.grid-row .col-s17e22 {
    grid-column-start: 17;
    grid-column-end: 23
}

.grid-row .col-s17e23 {
    grid-column-start: 17;
    grid-column-end: 24
}

.grid-row .col-s17e24 {
    grid-column-start: 17;
    grid-column-end: 25
}

.grid-row .col-s18e1 {
    grid-column-start: 18;
    grid-column-end: 2
}

.grid-row .col-s18e2 {
    grid-column-start: 18;
    grid-column-end: 3
}

.grid-row .col-s18e3 {
    grid-column-start: 18;
    grid-column-end: 4
}

.grid-row .col-s18e4 {
    grid-column-start: 18;
    grid-column-end: 5
}

.grid-row .col-s18e5 {
    grid-column-start: 18;
    grid-column-end: 6
}

.grid-row .col-s18e6 {
    grid-column-start: 18;
    grid-column-end: 7
}

.grid-row .col-s18e7 {
    grid-column-start: 18;
    grid-column-end: 8
}

.grid-row .col-s18e8 {
    grid-column-start: 18;
    grid-column-end: 9
}

.grid-row .col-s18e9 {
    grid-column-start: 18;
    grid-column-end: 10
}

.grid-row .col-s18e10 {
    grid-column-start: 18;
    grid-column-end: 11
}

.grid-row .col-s18e11 {
    grid-column-start: 18;
    grid-column-end: 12
}

.grid-row .col-s18e12 {
    grid-column-start: 18;
    grid-column-end: 13
}

.grid-row .col-s18e13 {
    grid-column-start: 18;
    grid-column-end: 14
}

.grid-row .col-s18e14 {
    grid-column-start: 18;
    grid-column-end: 15
}

.grid-row .col-s18e15 {
    grid-column-start: 18;
    grid-column-end: 16
}

.grid-row .col-s18e16 {
    grid-column-start: 18;
    grid-column-end: 17
}

.grid-row .col-s18e17 {
    grid-column-start: 18;
    grid-column-end: 18
}

.grid-row .col-s18e18 {
    grid-column-start: 18;
    grid-column-end: 19
}

.grid-row .col-s18e19 {
    grid-column-start: 18;
    grid-column-end: 20
}

.grid-row .col-s18e20 {
    grid-column-start: 18;
    grid-column-end: 21
}

.grid-row .col-s18e21 {
    grid-column-start: 18;
    grid-column-end: 22
}

.grid-row .col-s18e22 {
    grid-column-start: 18;
    grid-column-end: 23
}

.grid-row .col-s18e23 {
    grid-column-start: 18;
    grid-column-end: 24
}

.grid-row .col-s18e24 {
    grid-column-start: 18;
    grid-column-end: 25
}

.grid-row .col-s19e1 {
    grid-column-start: 19;
    grid-column-end: 2
}

.grid-row .col-s19e2 {
    grid-column-start: 19;
    grid-column-end: 3
}

.grid-row .col-s19e3 {
    grid-column-start: 19;
    grid-column-end: 4
}

.grid-row .col-s19e4 {
    grid-column-start: 19;
    grid-column-end: 5
}

.grid-row .col-s19e5 {
    grid-column-start: 19;
    grid-column-end: 6
}

.grid-row .col-s19e6 {
    grid-column-start: 19;
    grid-column-end: 7
}

.grid-row .col-s19e7 {
    grid-column-start: 19;
    grid-column-end: 8
}

.grid-row .col-s19e8 {
    grid-column-start: 19;
    grid-column-end: 9
}

.grid-row .col-s19e9 {
    grid-column-start: 19;
    grid-column-end: 10
}

.grid-row .col-s19e10 {
    grid-column-start: 19;
    grid-column-end: 11
}

.grid-row .col-s19e11 {
    grid-column-start: 19;
    grid-column-end: 12
}

.grid-row .col-s19e12 {
    grid-column-start: 19;
    grid-column-end: 13
}

.grid-row .col-s19e13 {
    grid-column-start: 19;
    grid-column-end: 14
}

.grid-row .col-s19e14 {
    grid-column-start: 19;
    grid-column-end: 15
}

.grid-row .col-s19e15 {
    grid-column-start: 19;
    grid-column-end: 16
}

.grid-row .col-s19e16 {
    grid-column-start: 19;
    grid-column-end: 17
}

.grid-row .col-s19e17 {
    grid-column-start: 19;
    grid-column-end: 18
}

.grid-row .col-s19e18 {
    grid-column-start: 19;
    grid-column-end: 19
}

.grid-row .col-s19e19 {
    grid-column-start: 19;
    grid-column-end: 20
}

.grid-row .col-s19e20 {
    grid-column-start: 19;
    grid-column-end: 21
}

.grid-row .col-s19e21 {
    grid-column-start: 19;
    grid-column-end: 22
}

.grid-row .col-s19e22 {
    grid-column-start: 19;
    grid-column-end: 23
}

.grid-row .col-s19e23 {
    grid-column-start: 19;
    grid-column-end: 24
}

.grid-row .col-s19e24 {
    grid-column-start: 19;
    grid-column-end: 25
}

.grid-row .col-s20e1 {
    grid-column-start: 20;
    grid-column-end: 2
}

.grid-row .col-s20e2 {
    grid-column-start: 20;
    grid-column-end: 3
}

.grid-row .col-s20e3 {
    grid-column-start: 20;
    grid-column-end: 4
}

.grid-row .col-s20e4 {
    grid-column-start: 20;
    grid-column-end: 5
}

.grid-row .col-s20e5 {
    grid-column-start: 20;
    grid-column-end: 6
}

.grid-row .col-s20e6 {
    grid-column-start: 20;
    grid-column-end: 7
}

.grid-row .col-s20e7 {
    grid-column-start: 20;
    grid-column-end: 8
}

.grid-row .col-s20e8 {
    grid-column-start: 20;
    grid-column-end: 9
}

.grid-row .col-s20e9 {
    grid-column-start: 20;
    grid-column-end: 10
}

.grid-row .col-s20e10 {
    grid-column-start: 20;
    grid-column-end: 11
}

.grid-row .col-s20e11 {
    grid-column-start: 20;
    grid-column-end: 12
}

.grid-row .col-s20e12 {
    grid-column-start: 20;
    grid-column-end: 13
}

.grid-row .col-s20e13 {
    grid-column-start: 20;
    grid-column-end: 14
}

.grid-row .col-s20e14 {
    grid-column-start: 20;
    grid-column-end: 15
}

.grid-row .col-s20e15 {
    grid-column-start: 20;
    grid-column-end: 16
}

.grid-row .col-s20e16 {
    grid-column-start: 20;
    grid-column-end: 17
}

.grid-row .col-s20e17 {
    grid-column-start: 20;
    grid-column-end: 18
}

.grid-row .col-s20e18 {
    grid-column-start: 20;
    grid-column-end: 19
}

.grid-row .col-s20e19 {
    grid-column-start: 20;
    grid-column-end: 20
}

.grid-row .col-s20e20 {
    grid-column-start: 20;
    grid-column-end: 21
}

.grid-row .col-s20e21 {
    grid-column-start: 20;
    grid-column-end: 22
}

.grid-row .col-s20e22 {
    grid-column-start: 20;
    grid-column-end: 23
}

.grid-row .col-s20e23 {
    grid-column-start: 20;
    grid-column-end: 24
}

.grid-row .col-s20e24 {
    grid-column-start: 20;
    grid-column-end: 25
}

.grid-row .col-s21e1 {
    grid-column-start: 21;
    grid-column-end: 2
}

.grid-row .col-s21e2 {
    grid-column-start: 21;
    grid-column-end: 3
}

.grid-row .col-s21e3 {
    grid-column-start: 21;
    grid-column-end: 4
}

.grid-row .col-s21e4 {
    grid-column-start: 21;
    grid-column-end: 5
}

.grid-row .col-s21e5 {
    grid-column-start: 21;
    grid-column-end: 6
}

.grid-row .col-s21e6 {
    grid-column-start: 21;
    grid-column-end: 7
}

.grid-row .col-s21e7 {
    grid-column-start: 21;
    grid-column-end: 8
}

.grid-row .col-s21e8 {
    grid-column-start: 21;
    grid-column-end: 9
}

.grid-row .col-s21e9 {
    grid-column-start: 21;
    grid-column-end: 10
}

.grid-row .col-s21e10 {
    grid-column-start: 21;
    grid-column-end: 11
}

.grid-row .col-s21e11 {
    grid-column-start: 21;
    grid-column-end: 12
}

.grid-row .col-s21e12 {
    grid-column-start: 21;
    grid-column-end: 13
}

.grid-row .col-s21e13 {
    grid-column-start: 21;
    grid-column-end: 14
}

.grid-row .col-s21e14 {
    grid-column-start: 21;
    grid-column-end: 15
}

.grid-row .col-s21e15 {
    grid-column-start: 21;
    grid-column-end: 16
}

.grid-row .col-s21e16 {
    grid-column-start: 21;
    grid-column-end: 17
}

.grid-row .col-s21e17 {
    grid-column-start: 21;
    grid-column-end: 18
}

.grid-row .col-s21e18 {
    grid-column-start: 21;
    grid-column-end: 19
}

.grid-row .col-s21e19 {
    grid-column-start: 21;
    grid-column-end: 20
}

.grid-row .col-s21e20 {
    grid-column-start: 21;
    grid-column-end: 21
}

.grid-row .col-s21e21 {
    grid-column-start: 21;
    grid-column-end: 22
}

.grid-row .col-s21e22 {
    grid-column-start: 21;
    grid-column-end: 23
}

.grid-row .col-s21e23 {
    grid-column-start: 21;
    grid-column-end: 24
}

.grid-row .col-s21e24 {
    grid-column-start: 21;
    grid-column-end: 25
}

.grid-row .col-s22e1 {
    grid-column-start: 22;
    grid-column-end: 2
}

.grid-row .col-s22e2 {
    grid-column-start: 22;
    grid-column-end: 3
}

.grid-row .col-s22e3 {
    grid-column-start: 22;
    grid-column-end: 4
}

.grid-row .col-s22e4 {
    grid-column-start: 22;
    grid-column-end: 5
}

.grid-row .col-s22e5 {
    grid-column-start: 22;
    grid-column-end: 6
}

.grid-row .col-s22e6 {
    grid-column-start: 22;
    grid-column-end: 7
}

.grid-row .col-s22e7 {
    grid-column-start: 22;
    grid-column-end: 8
}

.grid-row .col-s22e8 {
    grid-column-start: 22;
    grid-column-end: 9
}

.grid-row .col-s22e9 {
    grid-column-start: 22;
    grid-column-end: 10
}

.grid-row .col-s22e10 {
    grid-column-start: 22;
    grid-column-end: 11
}

.grid-row .col-s22e11 {
    grid-column-start: 22;
    grid-column-end: 12
}

.grid-row .col-s22e12 {
    grid-column-start: 22;
    grid-column-end: 13
}

.grid-row .col-s22e13 {
    grid-column-start: 22;
    grid-column-end: 14
}

.grid-row .col-s22e14 {
    grid-column-start: 22;
    grid-column-end: 15
}

.grid-row .col-s22e15 {
    grid-column-start: 22;
    grid-column-end: 16
}

.grid-row .col-s22e16 {
    grid-column-start: 22;
    grid-column-end: 17
}

.grid-row .col-s22e17 {
    grid-column-start: 22;
    grid-column-end: 18
}

.grid-row .col-s22e18 {
    grid-column-start: 22;
    grid-column-end: 19
}

.grid-row .col-s22e19 {
    grid-column-start: 22;
    grid-column-end: 20
}

.grid-row .col-s22e20 {
    grid-column-start: 22;
    grid-column-end: 21
}

.grid-row .col-s22e21 {
    grid-column-start: 22;
    grid-column-end: 22
}

.grid-row .col-s22e22 {
    grid-column-start: 22;
    grid-column-end: 23
}

.grid-row .col-s22e23 {
    grid-column-start: 22;
    grid-column-end: 24
}

.grid-row .col-s22e24 {
    grid-column-start: 22;
    grid-column-end: 25
}

.grid-row .col-s23e1 {
    grid-column-start: 23;
    grid-column-end: 2
}

.grid-row .col-s23e2 {
    grid-column-start: 23;
    grid-column-end: 3
}

.grid-row .col-s23e3 {
    grid-column-start: 23;
    grid-column-end: 4
}

.grid-row .col-s23e4 {
    grid-column-start: 23;
    grid-column-end: 5
}

.grid-row .col-s23e5 {
    grid-column-start: 23;
    grid-column-end: 6
}

.grid-row .col-s23e6 {
    grid-column-start: 23;
    grid-column-end: 7
}

.grid-row .col-s23e7 {
    grid-column-start: 23;
    grid-column-end: 8
}

.grid-row .col-s23e8 {
    grid-column-start: 23;
    grid-column-end: 9
}

.grid-row .col-s23e9 {
    grid-column-start: 23;
    grid-column-end: 10
}

.grid-row .col-s23e10 {
    grid-column-start: 23;
    grid-column-end: 11
}

.grid-row .col-s23e11 {
    grid-column-start: 23;
    grid-column-end: 12
}

.grid-row .col-s23e12 {
    grid-column-start: 23;
    grid-column-end: 13
}

.grid-row .col-s23e13 {
    grid-column-start: 23;
    grid-column-end: 14
}

.grid-row .col-s23e14 {
    grid-column-start: 23;
    grid-column-end: 15
}

.grid-row .col-s23e15 {
    grid-column-start: 23;
    grid-column-end: 16
}

.grid-row .col-s23e16 {
    grid-column-start: 23;
    grid-column-end: 17
}

.grid-row .col-s23e17 {
    grid-column-start: 23;
    grid-column-end: 18
}

.grid-row .col-s23e18 {
    grid-column-start: 23;
    grid-column-end: 19
}

.grid-row .col-s23e19 {
    grid-column-start: 23;
    grid-column-end: 20
}

.grid-row .col-s23e20 {
    grid-column-start: 23;
    grid-column-end: 21
}

.grid-row .col-s23e21 {
    grid-column-start: 23;
    grid-column-end: 22
}

.grid-row .col-s23e22 {
    grid-column-start: 23;
    grid-column-end: 23
}

.grid-row .col-s23e23 {
    grid-column-start: 23;
    grid-column-end: 24
}

.grid-row .col-s23e24 {
    grid-column-start: 23;
    grid-column-end: 25
}

.grid-row .col-s24e1 {
    grid-column-start: 24;
    grid-column-end: 2
}

.grid-row .col-s24e2 {
    grid-column-start: 24;
    grid-column-end: 3
}

.grid-row .col-s24e3 {
    grid-column-start: 24;
    grid-column-end: 4
}

.grid-row .col-s24e4 {
    grid-column-start: 24;
    grid-column-end: 5
}

.grid-row .col-s24e5 {
    grid-column-start: 24;
    grid-column-end: 6
}

.grid-row .col-s24e6 {
    grid-column-start: 24;
    grid-column-end: 7
}

.grid-row .col-s24e7 {
    grid-column-start: 24;
    grid-column-end: 8
}

.grid-row .col-s24e8 {
    grid-column-start: 24;
    grid-column-end: 9
}

.grid-row .col-s24e9 {
    grid-column-start: 24;
    grid-column-end: 10
}

.grid-row .col-s24e10 {
    grid-column-start: 24;
    grid-column-end: 11
}

.grid-row .col-s24e11 {
    grid-column-start: 24;
    grid-column-end: 12
}

.grid-row .col-s24e12 {
    grid-column-start: 24;
    grid-column-end: 13
}

.grid-row .col-s24e13 {
    grid-column-start: 24;
    grid-column-end: 14
}

.grid-row .col-s24e14 {
    grid-column-start: 24;
    grid-column-end: 15
}

.grid-row .col-s24e15 {
    grid-column-start: 24;
    grid-column-end: 16
}

.grid-row .col-s24e16 {
    grid-column-start: 24;
    grid-column-end: 17
}

.grid-row .col-s24e17 {
    grid-column-start: 24;
    grid-column-end: 18
}

.grid-row .col-s24e18 {
    grid-column-start: 24;
    grid-column-end: 19
}

.grid-row .col-s24e19 {
    grid-column-start: 24;
    grid-column-end: 20
}

.grid-row .col-s24e20 {
    grid-column-start: 24;
    grid-column-end: 21
}

.grid-row .col-s24e21 {
    grid-column-start: 24;
    grid-column-end: 22
}

.grid-row .col-s24e22 {
    grid-column-start: 24;
    grid-column-end: 23
}

.grid-row .col-s24e23 {
    grid-column-start: 24;
    grid-column-end: 24
}

.grid-row .col-s24e24 {
    grid-column-start: 24;
    grid-column-end: 25
}

.grid-row+.grid-row {
    margin-top: 3.2rem
}

.grid-row.justify-bottom {
    align-items: end
}

.grid-row [class*=col-].space-between {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.pos-1 {
    order: 1
}

.pos-2 {
    order: 2
}

@media only screen and (max-width:768px) {
    .grid-row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        row-gap: 1.6rem;
        column-gap: 1.6rem
    }

    .grid-row [class*=col-] {
        grid-column-start: 1;
        grid-column-end: 3;
        margin-top: 3.2rem
    }

    .grid-row [class*=col-]+[class*=col-]:not(.sm-pos-1),
    .grid-row [class*=col-].sm-pos-2 {
        margin-top: 3.2rem
    }

    .grid-row [class*=col-].sm-margin-small,
    .grid-row [class*=col-]:first-child:not(.sm-pos-2) {
        margin-top: 0
    }

    .grid-row+.grid-row {
        margin-top: 3.2rem
    }

    .pos-1,
    .pos-2 {
        order: inherit
    }

    .sm-pos-1 {
        order: 1
    }

    .sm-pos-2 {
        order: 2
    }
}

.section {
    position: relative;
    margin: 16rem 0
}

.section:first-child {
    margin-top: 25.6rem
}

.section.bottom-margin-none {
    margin-bottom: 0
}

.section.bottom-margin-none+.section {
    margin-top: 0
}

.section.bottom-margin-small {
    margin-bottom: 9.6rem
}

.section.bottom-margin-small+.section {
    margin-top: 9.6rem
}

.section.bottom-margin-mini {
    margin-bottom: 3.2rem
}

.section.bottom-margin-mini+.section {
    margin-top: 3.2rem
}

.section .section-inner>.section:first-child {
    margin-top: 0
}

.section .section-inner>.section:last-child {
    margin-bottom: 0
}

.section>* {
    z-index: 3;
    position: relative
}

.section.section-height-full {
    min-height: 100svh
}

.section.section-height-full:last-child {
    margin-bottom: 0
}

.section.section-height-full .section-inner {
    width: 100%;
    min-height: calc(100vh - 25.6rem)
}

.section.hero-section {
    margin-top: 20.8rem
}

.section.hero-section:has(>.fs-bg) {
    margin-top: 0
}

.section.hero-section .page-title-image {
    padding-top: 40%;
    position: relative;
    margin-top: 2.4rem
}

.section.section-only-bg {
    height: 75vh;
    min-height: 500px;
    max-height: 700px
}

.section:has(>.fs-bg) {
    padding-top: 12.8rem;
    padding-bottom: 12.8rem;
    margin-bottom: 0;
    transition: padding .01s ease .4s
}

body.home .section:has(>.fs-bg).hero-section {
    padding-top: 2.4rem
}

.section:has(>.fs-bg)+.section:has(>.fs-bg) {
    margin-top: 0
}

.section .landing-logo {
    position: absolute;
    left: 3vw;
    width: calc(100% - 6vw);
    bottom: 4.8rem;
    display: none
}

.section.section-home-intro {
    margin-top: 24rem
}

.fs-bg,
.fs-bg .fs-bg-el {
    position: absolute;
    width: 100.2%;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    overflow: hidden
}

.fs-bg .fs-bg-el.fs-bg-el {
    z-index: 2;
    top: 50%;
    transform: translateX(-50%) translateY(-50%)
}

.fs-bg .fs-bg-el.has-overlay:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .4);
    z-index: 2;
    opacity: 1
}

.fs-bg .fs-bg-el img,
.fs-bg .fs-bg-el video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1
}

.home .hero-section.section-height-full .fs-bg {
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    width: 45vw;
    height: 50vh;
    transition: all 1.8s cubic-bezier(.4, .5, .1, 1);
    transform: rotate(5deg) translateX(0);
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0
}

.home .hero-section.section-height-full .fs-bg .fs-bg-el {
    transform: none;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    transform: scale(.5);
    transition: transform 1.8s cubic-bezier(.4, .5, .1, 1)
}

.home .hero-section.section-height-full .fs-bg .fs-bg-el.has-overlay:after {
    opacity: 0;
    transition: opacity 1.6s ease
}

.home.has-loaded .hero-section.section-height-full .fs-bg {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px)
}

.home.has-loaded .hero-section.section-height-full .fs-bg .fs-bg-el {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: none
}

.home.has-loaded .hero-section.section-height-full .fs-bg .fs-bg-el.has-overlay:after {
    opacity: 1
}

body:not(.home) .hero-section .page-title-image .fs-bg {
    transform: translateX(-50%) scaleY(1.1) translateY(20%);
    transition: all 1.3s cubic-bezier(.4, .5, .1, 1);
    opacity: 0
}

body:not(.home).has-landed .hero-section .page-title-image .fs-bg {
    transition-delay: .2s;
    transform: translateX(-50%) translateY(0);
    opacity: 1
}

@media only screen and (max-width:1140px) {
    .section {
        margin: 12.8rem 0
    }

    body.home .section:has(.fs-bg).hero-section .col-s1e8 {
        grid-column-end: 16
    }
}

@media only screen and (max-width:768px) {
    .section {
        margin: 12.8rem 0
    }

    .section.hero-section {
        margin-top: 14.4rem
    }

    .section.hero-section .page-title-image {
        padding-top: 75%
    }

    .section.hero-section h2.h3 {
        font-size: clamp(20px, 1.4vw, 22px);
        font-weight: 500
    }

    body.home .section:has(.fs-bg).hero-section {
        padding-top: 2.4rem;
        padding-bottom: 2.4rem;
        display: flex;
        align-items: flex-end;
        justify-content: end;
        flex-direction: column
    }

    body.home .section:has(.fs-bg).hero-section .section-inner {
        min-height: auto
    }

    .section.section-home-intro {
        margin-top: 16rem
    }
}

#page-header {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    padding: 2.4rem 0;
    transition: all .46s cubic-bezier(.4, .5, .1, 1)
}

#page-header:before {
    content: "";
    background: #fffefc;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none
}

#page-header .header-inner {
    position: relative;
    align-items: center;
    z-index: 3;
    transition: all .45s ease
}

#page-header .header-inner .header-inner-center,
#page-header .header-inner .header-inner-left,
#page-header .header-inner .header-inner-right {
    display: flex;
    align-items: center;
    justify-content: space-between
}

#page-header .header-inner .header-inner-center.header-inner-left,
#page-header .header-inner .header-inner-left.header-inner-left,
#page-header .header-inner .header-inner-right.header-inner-left {
    z-index: 2;
    position: relative
}

#page-header .header-inner .header-inner-center.header-inner-center,
#page-header .header-inner .header-inner-left.header-inner-center,
#page-header .header-inner .header-inner-right.header-inner-center {
    position: relative;
    z-index: 1
}

#page-header .header-inner .header-inner-center.header-inner-right,
#page-header .header-inner .header-inner-left.header-inner-right,
#page-header .header-inner .header-inner-right.header-inner-right {
    justify-content: right;
    position: static;
    z-index: 2
}

#page-header .header-inner .header-actions {
    display: flex;
    align-items: center;
    gap: 3.2rem
}

body.home #page-header .header-logo {
    margin-right: 0
}

#page-header .header-logo {
    width: 280px;
    height: auto;
    pointer-events: all;
    z-index: 2;
    position: relative;
    transition: all .95s cubic-bezier(.4, .5, .1, 1) 0s, opacity .01s ease
}

#page-header .header-logo a {
    color: #0d0c09;
    display: block;
    transition: color .35s ease
}

#page-header .header-logo svg {
    width: 280px;
    max-width: none;
    height: auto
}

#page-header .header-logo path {
    transition: all .9s ease .3s;
    transform: none;
    opacity: 1
}

#page-header .header-logo path:first-child {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .415s, color .35s ease
}

#page-header .header-logo path:nth-child(2) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .43s, color .35s ease
}

#page-header .header-logo path:nth-child(3) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .445s, color .35s ease
}

#page-header .header-logo path:nth-child(4) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .46s, color .35s ease
}

#page-header .header-logo path:nth-child(5) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .475s, color .35s ease
}

#page-header .header-logo path:nth-child(6) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .49s, color .35s ease
}

#page-header .header-logo path:nth-child(7) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .505s, color .35s ease
}

#page-header .header-logo path:nth-child(8) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .52s, color .35s ease
}

#page-header .header-logo path:nth-child(9) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .535s, color .35s ease
}

#page-header .header-logo path:nth-child(10) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .55s, color .35s ease
}

body:not(.is-home) #page-header .header-logo {
    transition: all .95s cubic-bezier(.4, .5, .1, 1) 0s, opacity .35s ease
}

#page-header .btn {
    transition: color .35s ease
}

body.home:not(.has-scrolled-full):not(.menu-is-open) #page-header .header-logo a,
body.home:not(.has-scrolled-full):not(.menu-is-open) #page-header .header-nav nav ul>li>a {
    color: #fffefc
}

body.home:not(.has-scrolled-full):not(.menu-is-open) #page-header .header-nav nav ul>li>a:before {
    background-color: #fffefc
}

body.home:not(.has-scrolled-full):not(.menu-is-open) #page-header .header-toggle .open-mobile-menu,
body.home:not(.has-scrolled-full):not(.menu-is-open) #page-header .language-nav nav ul>li,
body.home:not(.has-scrolled-full):not(.menu-is-open) #page-header .language-nav nav ul>li a {
    color: #fffefc
}

body.home:not(.has-scrolled-full):not(.menu-is-open) #page-header:before {
    opacity: 0
}

html.page-transition #page-header:before {
    transition: all s .55s ease;
    opacity: 0
}

body.home:not(.has-scrolled-full) #page-header:before {
    opacity: 0
}

body.home #page-header .header-inner .header-inner-left .header-logo {
    opacity: 0;
    pointer-events: none
}

body.home #page-header .header-inner .header-inner-left .header-logo path {
    transform: scaleY(1.4) translateY(100%);
    transition: transform .9s cubic-bezier(.4, .5, .1, 1), color .35s ease
}

body.home.has-scrolled-full #page-header .header-inner .header-inner-left .header-logo,
body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo {
    opacity: 1;
    transition: all .65s cubic-bezier(.4, .5, .1, 1) 0s, opacity .4s ease
}

body.home.home-switch-logo #page-header .header-inner .header-inner-left .header-logo {
    opacity: 1;
    transition: all .01s cubic-bezier(.4, .5, .1, 1) 0s, opacity .01s ease
}

body.home.home-switch-logo #page-header .header-inner .header-inner-left .header-logo path {
    transform: none;
    opacity: 1;
    transition: none
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path {
    transform: none;
    opacity: 1;
    transition-delay: .6s
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:first-child {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .615s, color .35s ease
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:nth-child(2) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .63s, color .35s ease
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:nth-child(3) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .645s, color .35s ease
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:nth-child(4) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .66s, color .35s ease
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:nth-child(5) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .675s, color .35s ease
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:nth-child(6) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .69s, color .35s ease
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:nth-child(7) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .705s, color .35s ease
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:nth-child(8) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .72s, color .35s ease
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:nth-child(9) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .735s, color .35s ease
}

body.home.menu-is-open #page-header .header-inner .header-inner-left .header-logo path:nth-child(10) {
    transition: transform .9s cubic-bezier(.4, .5, .1, 1) .75s, color .35s ease
}

.header-nav {
    position: relative;
    z-index: 1
}

.header-nav nav {
    padding: 0;
    border-radius: 1.6rem;
    transition: all .45s ease;
    pointer-events: all
}

.header-nav nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex
}

.header-nav nav ul li {
    width: auto;
    line-height: 0;
    padding: 0 1.6rem
}

.header-nav nav ul li:first-child {
    padding-left: 0
}

.header-nav nav ul li a {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: clamp(18px, 1.4vw, 20px);
    color: #0d0c09;
    z-index: 2;
    position: relative;
    transition: color .35s ease;
    line-height: 1;
    display: flex;
    align-items: center;
    cursor: pointer
}

.header-nav nav ul li a:before {
    content: "";
    width: 0;
    height: 1px;
    position: absolute;
    bottom: -8px;
    left: 0;
    background-color: #0d0c09;
    transition: all .45s cubic-bezier(.4, .5, .1, 1)
}

.header-nav nav ul li.current_page_item>a:after,
.header-nav nav ul li>a:hover:after {
    bottom: 0;
    right: 8px;
    transform: rotate(45deg);
    opacity: 1
}

.header-nav nav ul li.current_page_item>a:before,
.header-nav nav ul li>a:hover:before {
    width: 100%
}

.header-toggle {
    display: none
}

.header-toggle .open-mobile-menu {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: clamp(18px, 1.4vw, 20px);
    color: #0d0c09;
    transition: color .35s ease;
    display: inline-block;
    overflow: hidden;
    position: relative;
    vertical-align: top;
    width: 100px;
    text-align: right;
    cursor: pointer
}

.header-toggle .open-mobile-menu>span {
    display: inline-block;
    transition: transform .75s cubic-bezier(.77, 0, .175, 1)
}

.header-toggle .open-mobile-menu>span.text-to-close {
    position: absolute;
    top: 100%;
    right: 0;
    transform: scale3d(.95, .7, 1)
}

html:not(.page-transition) body.menu-is-open .header-toggle .open-mobile-menu>span {
    transform: scale3d(.95, .7, 1) translateY(-100%)
}

html:not(.page-transition) body.menu-is-open .header-toggle .open-mobile-menu>span.text-to-close {
    transform: scaleX(1) translateY(-100%)
}

.language-nav nav {
    pointer-events: all
}

.language-nav nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex
}

.language-nav nav ul li {
    margin: 0;
    width: auto;
    display: flex;
    align-items: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: clamp(14px, .9vw, 16px)
}

.language-nav nav ul li:after {
    content: "/";
    line-height: 1;
    margin: 0 .6rem;
    opacity: .4
}

.language-nav nav ul li:last-child:after {
    display: none
}

.language-nav nav ul li a {
    color: #0d0c09;
    z-index: 2;
    position: relative;
    transition: color .35s ease;
    line-height: 20px;
    min-width: 20px;
    text-align: center;
    display: block;
    align-items: center;
    text-transform: uppercase;
    transition: all .3s ease;
    opacity: .4
}

.language-nav nav ul li.is-active a,
.language-nav nav ul li:hover a {
    opacity: 1
}

.language-nav nav ul li:first-child {
    margin-left: 0
}

.language-nav nav ul li:last-child {
    margin-right: 0
}

@media only screen and (max-width:1140px) {
    .header-action-toggle {
        display: block;
        transition: all .3s ease
    }

    body.home.has-scrolled .header-action-toggle {
        opacity: 1;
        visibility: visible
    }

    .header-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 0;
        padding: 0;
        overflow: hidden;
        transition: all .01s ease .7s
    }

    .header-nav:after {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all .4s cubic-bezier(.4, .5, .1, 1) 1s;
        transform: rotate(5deg) translateX(0);
        top: 15%;
        left: 15%;
        width: 0;
        height: 0%;
        box-shadow: 0 10px 50px rgba(0, 0, 0, .1)
    }

    .header-nav:after,
    .header-nav:before {
        content: "";
        background: #fffefc;
        position: absolute;
        z-index: 1
    }

    .header-nav:before {
        top: 0;
        left: 0;
        width: 100%;
        height: 0;
        transition: all .5s cubic-bezier(.4, .5, .1, 1) .1s
    }

    .header-nav nav {
        position: relative;
        z-index: 2
    }

    .header-nav nav ul {
        display: flex;
        flex-direction: column
    }

    .header-nav nav ul li {
        padding: 1.2rem 0;
        transform: translate3d(0, 20%, 0) rotateY(5deg) rotate(2deg) scale(.95);
        transform-origin: bottom left;
        transition: all .5s cubic-bezier(.4, .5, .1, 1), opacity .5s ease;
        opacity: 0
    }

    .header-nav nav ul li:first-child {
        padding-top: 0
    }

    .header-nav nav ul li a {
        display: inline-block;
        font-size: clamp(42px, 4.4vw, 64px);
        color: #0d0c09 !important;
        font-weight: 400
    }

    .header-nav nav ul li a:before {
        background-color: #0d0c09 !important;
        height: 2px
    }

    body.menu-is-open #page-header .header-nav {
        height: 100vh;
        padding: calc(46px + 9.6rem) 2.4rem 4.8rem;
        transition: all .01s ease
    }

    body.menu-is-open #page-header .header-nav:after {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: none;
        transition: all .7s cubic-bezier(.4, .5, .1, 1) .15s, opacity .01s ease .95s;
        opacity: 0
    }

    body.menu-is-open #page-header .header-nav:before {
        height: 100%;
        transition: height .01s cubic-bezier(.4, .5, .1, 1) .9s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-action-contact {
        transition: all .6s cubic-bezier(.4, .5, .1, 1) .8s;
        opacity: 1;
        visibility: visible
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li {
        transform: none;
        opacity: 1;
        transition: all 1.1s cubic-bezier(.4, .5, .1, 1) .3s, opacity 1.4s ease .3s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li:nth-child(2n) {
        transition-delay: .36s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li:nth-child(3n) {
        transition-delay: .42s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li:nth-child(4n) {
        transition-delay: .48s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li:nth-child(5n) {
        transition-delay: .54s
    }

    html.page-transition body.menu-is-open #page-header .header-nav {
        opacity: 0;
        transition: all .01s ease .5s, opacity .2s ease .3s;
        height: 0;
        padding: 0
    }
}

@media only screen and (max-width:768px) {
    #page-header {
        padding: 1.6rem 0
    }

    #page-header .header-inner {
        display: flex;
        justify-content: space-between;
        align-items: center
    }

    #page-header .header-inner>* {
        margin: 0
    }

    #page-header .header-logo {
        width: 220px
    }

    #page-header .header-logo svg {
        width: 220px;
        max-width: none;
        height: auto
    }

    body.home #page-header .header-inner .header-inner-left .header-logo {
        opacity: 1;
        pointer-events: all
    }

    body.home.has-landed #page-header .header-inner .header-inner-left .header-logo {
        opacity: 1
    }

    body.home.has-landed #page-header .header-inner .header-inner-left .header-logo path {
        transform: none;
        opacity: 1
    }

    .header-action-toggle {
        display: block;
        transition: all .3s ease
    }

    body.home.has-scrolled .header-action-toggle {
        opacity: 1;
        visibility: visible
    }

    .header-action-contact {
        left: 0;
        width: 100vw
    }

    .header-action-contact,
    .header-action-lang {
        position: fixed;
        bottom: 0;
        height: auto;
        padding: 0 2.8rem 4.8rem;
        transition: all .2s ease;
        opacity: 0;
        visibility: hidden
    }

    .header-action-lang {
        pointer-events: all;
        right: 0;
        z-index: 2
    }

    .header-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 0;
        padding: 0;
        overflow: hidden;
        transition: all .01s ease .7s
    }

    .header-nav:after {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all .4s cubic-bezier(.4, .5, .1, 1) 1s;
        transform: rotate(5deg) translateX(0);
        top: 15%;
        left: 15%;
        width: 0;
        height: 0%;
        box-shadow: 0 10px 50px rgba(0, 0, 0, .1)
    }

    .header-nav:after,
    .header-nav:before {
        content: "";
        background: #fffefc;
        position: absolute;
        z-index: 1
    }

    .header-nav:before {
        top: 0;
        left: 0;
        width: 100%;
        height: 0;
        transition: all .5s cubic-bezier(.4, .5, .1, 1) .1s
    }

    .header-nav nav {
        position: relative;
        z-index: 2
    }

    .header-nav nav ul {
        display: flex;
        flex-direction: column
    }

    .header-nav nav ul li {
        padding: 1.2rem 0;
        transform: translate3d(0, 20%, 0) rotateY(5deg) rotate(2deg) scale(.95);
        transform-origin: bottom left;
        transition: all .5s cubic-bezier(.4, .5, .1, 1), opacity .5s ease;
        opacity: 0
    }

    .header-nav nav ul li:first-child {
        padding-top: 0
    }

    .header-nav nav ul li a {
        display: inline-block;
        font-size: clamp(32px, 3vw, 44px);
        color: #0d0c09 !important;
        font-weight: 400
    }

    .header-nav nav ul li a:before {
        background-color: #0d0c09 !important;
        height: 2px
    }

    body.menu-is-open #page-header .header-nav {
        height: 100vh;
        padding: calc(46px + 9.6rem) 2.4rem 4.8rem;
        transition: all .01s ease
    }

    body.menu-is-open #page-header .header-nav:after {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: none;
        transition: all .7s cubic-bezier(.4, .5, .1, 1) .15s, opacity .01s ease .95s;
        opacity: 0
    }

    body.menu-is-open #page-header .header-nav:before {
        height: 100%;
        transition: height .01s cubic-bezier(.4, .5, .1, 1) .9s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-action-contact,
    html:not(.page-transition) body.menu-is-open #page-header .header-action-lang {
        transition: all .6s cubic-bezier(.4, .5, .1, 1) .8s;
        opacity: 1;
        visibility: visible
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li {
        transform: none;
        opacity: 1;
        transition: all 1.1s cubic-bezier(.4, .5, .1, 1) .3s, opacity 1.4s ease .3s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li:nth-child(2n) {
        transition-delay: .36s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li:nth-child(3n) {
        transition-delay: .42s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li:nth-child(4n) {
        transition-delay: .48s
    }

    html:not(.page-transition) body.menu-is-open #page-header .header-nav nav li:nth-child(5n) {
        transition-delay: .54s
    }

    html.page-transition body.menu-is-open #page-header .header-nav {
        opacity: 0;
        transition: all .01s ease .5s, opacity .2s ease .3s;
        height: 0;
        padding: 0
    }
}

#page-footer {
    background: #fffefc;
    font-size: clamp(18px, 1.4vw, 20px);
    background: #f7f1e8;
    padding-top: 9.6rem;
    padding-bottom: 4.8rem;
    line-height: 1.55;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 0
}

#page-footer address,
#page-footer p {
    margin-top: 2.4rem
}

#page-footer .footer-nav nav ul li a {
    font-size: clamp(32px, 3vw, 44px);
    font-weight: 400;
    padding: 1.6rem 3.2rem 0 0
}

#page-footer .footer-nav nav ul li a:after {
    width: 18px;
    height: 18px
}

#page-footer .footer-nav nav ul li:first-child a {
    padding-top: 0
}

#page-footer .footer-inner .contact-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}

#page-footer .footer-inner-col {
    display: flex;
    justify-content: flex-start;
    gap: 9.6rem;
    margin-top: 4.8rem
}

#page-footer .footer-inner-col:first-child {
    margin-top: 0
}

#page-footer .footer-inner-col .opening-days {
    display: inline-block;
    width: 8rem;
    font-weight: 500
}

#page-footer .footer-inner-col .alert-info {
    font-size: clamp(18px, 1.4vw, 20px);
    position: relative;
    color: #0d0c09;
    font-weight: 500
}

#page-footer .footer-inner-col .alert-info:after {
    content: "";
    position: absolute;
    top: -4px;
    left: -16px;
    width: calc(100% + 32px);
    height: calc(100% + 8px);
    background: #fffefc;
    border-radius: 20px;
    z-index: -1
}

#page-footer .footer-bottom {
    margin-top: 12.8rem;
    font-size: clamp(14px, .9vw, 16px);
    color: rgba(13, 12, 9, .6)
}

#page-footer .footer-bottom a {
    font-weight: 500;
    color: #0d0c09
}

#page-footer .footer-bottom a:hover {
    text-decoration: underline
}

#page-footer .footer-bottom .copyright {
    display: flex;
    justify-content: space-between;
    margin-top: 0
}

#page-footer .footer-bottom .made-by svg {
    display: inline-block;
    width: 52px;
    height: auto
}

#page-footer .btn-background:before {
    background: #fffefc
}

#page-footer .btn-background:after {
    background: #f7f1e8
}

.footer-logo.do-anim {
    color: #fffefc;
    position: relative;
    margin-bottom: 1.6rem
}

.footer-logo.do-anim path {
    transform: scaleY(1.4) translateY(100%);
    transition: transform 1.3s cubic-bezier(.4, .5, .1, 1)
}

.footer-logo.do-anim path:first-child {
    transition-delay: .415s
}

.footer-logo.do-anim path:nth-child(2) {
    transition-delay: .43s
}

.footer-logo.do-anim path:nth-child(3) {
    transition-delay: .445s
}

.footer-logo.do-anim path:nth-child(4) {
    transition-delay: .46s
}

.footer-logo.do-anim path:nth-child(5) {
    transition-delay: .475s
}

.footer-logo.do-anim path:nth-child(6) {
    transition-delay: .49s
}

.footer-logo.do-anim path:nth-child(7) {
    transition-delay: .505s
}

.footer-logo.do-anim path:nth-child(8) {
    transition-delay: .52s
}

.footer-logo.do-anim path:nth-child(9) {
    transition-delay: .535s
}

.footer-logo.do-anim path:nth-child(10) {
    transition-delay: .55s
}

.footer-logo.do-anim:before {
    content: "";
    position: absolute;
    width: calc(100% + 300px);
    height: calc(100% + 3.2rem);
    top: -1.6rem;
    right: calc(100% + 300px);
    background: #c769b0;
    z-index: -1;
    border-radius: 50px;
    transition: all 1.3s cubic-bezier(.4, .5, .1, 1)
}

.footer-logo.do-anim.is-animated path {
    transform: none;
    opacity: 1
}

.footer-logo.do-anim.is-animated:before {
    right: -4.8rem
}

@media only screen and (max-width:1024px) {
    .footer-inner-col {
        flex-direction: column
    }

    .footer-inner-col .alert-info {
        display: inline-block
    }
}

@media only screen and (max-width:768px) {
    #page-footer {
        position: relative;
        bottom: auto;
        left: auto
    }

    #page-footer .footer-logo.do-anim {
        width: 90%
    }

    #page-footer .footer-bottom {
        margin-top: 6.4rem
    }
}

img,
svg {
    max-width: 100%;
    display: block;
    height: auto
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto) {
    position: relative;
    overflow: hidden
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-circle {
    border-radius: 100%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto) .fs-media-item {
    width: 100%;
    height: 0;
    display: block
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-1-1 .fs-media-item {
    padding-top: 100%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-2-1 .fs-media-item {
    padding-top: 50%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-4-3 .fs-media-item {
    padding-top: 75%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-8-5 .fs-media-item {
    padding-top: 62.5%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-8-7 .fs-media-item {
    padding-top: 87.5%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-16-9 .fs-media-item {
    padding-top: 56.25%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-21-9 .fs-media-item {
    padding-top: 42.8%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-7-8 .fs-media-item {
    padding-top: 114%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-3-4 .fs-media-item {
    padding-top: 133.33%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-1-2 .fs-media-item {
    padding-top: 200%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto) .fs-media-item-inner,
[class*=fs-media-ratio-]:not(.fs-media-ratio-auto) img,
[class*=fs-media-ratio-]:not(.fs-media-ratio-auto) video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto):hover .fs-media-hover {
    opacity: 1
}

.fs-media.do-anim .fs-media-item .fs-media-item-inner {
    transform: scaleY(1.1) translateY(20%);
    transition: all 1.3s cubic-bezier(.4, .5, .1, 1);
    opacity: 0
}

.fs-media.do-anim.is-animated .fs-media-item .fs-media-item-inner {
    transform: translateY(0);
    opacity: 1
}

p+.fs-media.rounded-corners {
    overflow: hidden;
    border-radius: 1.6rem
}

.media-hover {
    display: block
}

.media-hover,
.media-hover .media-container {
    position: relative
}

.media-hover .media-container:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(13, 12, 9, .5);
    opacity: 0;
    transition: opacity .6s ease
}

.media-hover .media-meta {
    position: relative;
    display: inline-block
}

.media-hover .media-meta:before {
    content: "";
    width: 0;
    height: 1px;
    position: absolute;
    bottom: -6px;
    left: 0;
    background-color: #0d0c09;
    transition: all .45s cubic-bezier(.4, .5, .1, 1)
}

.media-hover .media-meta-hover {
    position: absolute;
    bottom: 3.2rem;
    left: 3.2rem;
    width: 100%;
    color: #fffefc
}

.media-hover .media-meta-hover h1,
.media-hover .media-meta-hover h2,
.media-hover .media-meta-hover h3,
.media-hover .media-meta-hover h4,
.media-hover .media-meta-hover h5,
.media-hover .media-meta-hover h6,
.media-hover .media-meta-hover strong {
    color: #fffefc
}

.media-hover .fs-media-item img {
    transition: transform 1.1s cubic-bezier(.4, .5, .1, 1)
}

.media-hover:hover .fs-media-item img {
    transform: scale(1.05)
}

.media-hover:hover .media-meta:before {
    width: 100%
}

ul {
    margin-top: 3.2rem
}

strong+ul {
    margin-top: .4rem
}

.editor-content ul li {
    margin-top: 1.2rem
}

.editor-content ul li:first-child {
    margin-top: 0
}

.editor-content ul li::marker {
    color: #c769b0
}

ul.fade-siblings li {
    transition: opacity .65s ease
}

ul.fade-siblings li.is-faded {
    opacity: .4 !important
}

.footer-nav nav,
.fs-filter {
    padding: 0
}

.footer-nav nav ul,
.fs-filter ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.footer-nav nav ul li,
.fs-filter ul li {
    padding: 0;
    width: auto;
    line-height: 0
}

.footer-nav nav ul li:first-child a,
.fs-filter ul li:first-child a {
    padding-top: 0
}

.footer-nav nav ul li a,
.fs-filter ul li a {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: clamp(24px, 1.4vw, 28px);
    color: #0d0c09;
    z-index: 2;
    position: relative;
    transition: color .35s ease;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    padding: 1.6rem 26px 0 0
}

.footer-nav nav ul li a.is-active:after,
.footer-nav nav ul li a:hover:after,
.fs-filter ul li a.is-active:after,
.fs-filter ul li a:hover:after {
    bottom: 0;
    right: 8px;
    transform: rotate(45deg);
    opacity: 1
}

.footer-nav nav ul li:first-child>a,
.fs-filter ul li:first-child>a {
    padding-left: 0
}

.fs-filter ul li a {
    opacity: .4;
    transition: opacity .65s ease
}

.fs-filter ul li a.is-active,
.fs-filter ul li a:hover {
    opacity: 1
}

ul.social-list {
    list-style: none;
    padding: 0;
    margin-top: 4.8rem;
    font-size: 0;
    line-height: 0
}

ul.social-list:first-child {
    margin-top: 0
}

ul.social-list.list-inline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 3.2rem
}

ul.social-list.list-inline li {
    margin: 0
}

ul.social-list li {
    display: block;
    margin: 1.2rem 0;
    position: relative
}

ul.social-list li:has(.btn-simple-large) {
    margin: 2.4rem 0
}

ul.social-list li:first-child {
    margin-top: 0;
    margin-left: 0
}

ul.social-list li:last-child {
    margin-right: 0;
    margin-bottom: 0
}

.fs-spacer-medium {
    height: 4.8rem
}

.fs-spacer-large {
    height: 9.6rem
}

[class*=fs-spacer-]+* {
    margin-top: 0 !important
}

[class*=fs-spacer-] {
    margin: 0 !important;
    width: 100%
}

@media only screen and (max-width:768px) {
    .fs-spacer-medium {
        height: 4rem
    }

    .fs-spacer-large {
        height: 8rem
    }
}

.btn,
button {
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 24px;
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    color: #0d0c09;
    cursor: pointer;
    position: relative;
    border: none;
    transition: all .55s cubic-bezier(.4, .5, .1, 1)
}

.btn>*,
button>* {
    position: relative;
    z-index: 1
}

.btn .btn-text,
button .btn-text {
    overflow: hidden;
    position: relative;
    vertical-align: top;
    perspective: 500px;
    z-index: 2
}

.btn .btn-text,
.btn .btn-text span,
button .btn-text,
button .btn-text span {
    display: inline-block;
    transform-origin: bottom left
}

.btn .btn-text span:not(:first-child),
button .btn-text span:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate3d(0, 100%, 0)
}

.btn .btn-icon,
button .btn-icon {
    background: #c769b0;
    width: 24px;
    height: 24px;
    padding: 6px;
    border-radius: 30px;
    color: #fffefc;
    overflow: hidden;
    transition: all .55s cubic-bezier(.4, .5, .1, 1);
    z-index: 2;
    position: relative
}

.btn .btn-icon:last-child,
button .btn-icon:last-child {
    margin-left: 1.2rem
}

.btn:not([class*=btn-social]) .btn-icon svg,
button:not([class*=btn-social]) .btn-icon svg {
    transform: rotate(-45deg)
}

.btn.btn-simple:before,
button.btn-simple:before {
    content: "";
    width: 0;
    height: 1px;
    position: absolute;
    bottom: -6px;
    left: 0;
    background-color: #0d0c09;
    transition: all .45s cubic-bezier(.4, .5, .1, 1)
}

.btn.btn-simple[class*=btn-social] .btn-icon,
button.btn-simple[class*=btn-social] .btn-icon {
    background: #0d0c09
}

.btn.btn-simple.btn-large,
button.btn-simple.btn-large {
    font-size: clamp(20px, 1.4vw, 22px);
    line-height: 32px
}

.btn.btn-simple.btn-large .btn-icon,
button.btn-simple.btn-large .btn-icon {
    width: 32px;
    height: 32px;
    padding: 8px;
    border-radius: 40px
}

.btn.btn-simple.btn-large .btn-icon:last-child,
button.btn-simple.btn-large .btn-icon:last-child {
    margin-left: 1.6rem
}

.btn.btn-background,
button.btn-background {
    padding: 4px 1.6rem;
    color: #fffefc
}

.btn.btn-background:has(.btn-icon),
button.btn-background:has(.btn-icon) {
    padding-right: .4rem
}

.btn.btn-background:before,
button.btn-background:before {
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    position: absolute;
    border-radius: 40px;
    transition: all .55s cubic-bezier(.4, .5, .1, 1);
    background: #c769b0
}

.btn.btn-background:after,
button.btn-background:after {
    content: "";
    background: #fffefc;
    width: 28px;
    height: 28px;
    top: 4px;
    right: 4px;
    position: absolute;
    border-radius: 40px;
    transition: all .55s cubic-bezier(.4, .5, .1, 1)
}

.btn.btn-background .btn-icon,
button.btn-background .btn-icon {
    background: none;
    width: 28px;
    height: 28px;
    padding: 8px;
    color: #0d0c09
}

.btn.btn-background.btn-light,
button.btn-background.btn-light {
    color: #0d0c09
}

.btn.btn-background.btn-light:before,
button.btn-background.btn-light:before {
    background: #f7f1e8
}

.btn.btn-background.btn-large,
button.btn-background.btn-large {
    padding: 6px 2.4rem;
    font-size: clamp(18px, 1.4vw, 20px);
    line-height: 24px
}

.btn.btn-background.btn-large:has(.btn-icon),
button.btn-background.btn-large:has(.btn-icon) {
    padding-right: 6px
}

.btn.btn-background.btn-large:after,
button.btn-background.btn-large:after {
    width: 40px;
    height: 40px;
    top: 6px;
    right: 6px
}

.btn.btn-background.btn-large .btn-icon,
button.btn-background.btn-large .btn-icon {
    width: 40px;
    height: 40px;
    padding: 12px
}

.btn.is-active .btn-text span,
.btn:hover .btn-text span,
button.is-active .btn-text span,
button:hover .btn-text span {
    transition: all .55s cubic-bezier(.4, .5, .1, 1);
    transform: translate3d(0, -100%, 0)
}

.btn.is-active .btn-text span:not(:first-child),
.btn:hover .btn-text span:not(:first-child),
button.is-active .btn-text span:not(:first-child),
button:hover .btn-text span:not(:first-child) {
    transform: none;
    transition: all .55s cubic-bezier(.4, .5, .1, 1);
    opacity: 1
}

.btn.is-active .btn-icon,
.btn:hover .btn-icon,
button.is-active .btn-icon,
button:hover .btn-icon {
    transform: scale(1.2)
}

.btn.is-active.btn-background:before,
.btn:hover.btn-background:before,
button.is-active.btn-background:before,
button:hover.btn-background:before {
    width: calc(100% + .8rem);
    height: calc(100% + .8rem);
    top: -.4rem;
    right: -.4rem
}

.btn.is-active.btn-background:after,
.btn:hover.btn-background:after,
button.is-active.btn-background:after,
button:hover.btn-background:after {
    width: 36px;
    height: 36px;
    top: 0;
    right: 0
}

.btn.is-active.btn-background.btn-large:before,
.btn:hover.btn-background.btn-large:before,
button.is-active.btn-background.btn-large:before,
button:hover.btn-background.btn-large:before {
    width: calc(100% + .8rem);
    height: calc(100% + .8rem);
    top: -.4rem;
    right: -.4rem
}

.btn.is-active.btn-background.btn-large:after,
.btn:hover.btn-background.btn-large:after,
button.is-active.btn-background.btn-large:after,
button:hover.btn-background.btn-large:after {
    width: 52px;
    height: 52px;
    top: 0;
    right: 0
}

.btn.is-active.btn-simple:before,
.btn:hover.btn-simple:before,
button.is-active.btn-simple:before,
button:hover.btn-simple:before {
    width: 100%
}

.btn.is-active.btn-simple:has(.btn-icon):before,
.btn:hover.btn-simple:has(.btn-icon):before,
button.is-active.btn-simple:has(.btn-icon):before,
button:hover.btn-simple:has(.btn-icon):before {
    width: calc(100% - 24px - 1.2rem)
}

.btn.is-active.btn-simple.btn-large:has(.btn-icon):before,
.btn:hover.btn-simple.btn-large:has(.btn-icon):before,
button.is-active.btn-simple.btn-large:has(.btn-icon):before,
button:hover.btn-simple.btn-large:has(.btn-icon):before {
    width: calc(100% - 32px - 1.6rem)
}

.editor-content .btn {
    margin-top: 2.8rem
}

.editor-content .btn:first-child {
    margin-top: 0
}

.btn-only-icon {
    display: inline-block;
    line-height: 0;
    position: relative;
    color: #0d0c09
}

.btn-only-icon:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    background: #c769b0;
    border-radius: 40px;
    transition: all .55s cubic-bezier(.4, .5, .1, 1)
}

.btn-only-icon .btn-icon {
    display: block;
    width: 32px;
    height: 32px;
    padding: 8px;
    overflow: hidden;
    transition: all .55s cubic-bezier(.4, .5, .1, 1)
}

.btn-only-icon .btn-icon svg {
    transform: rotate(0)
}

.btn-only-icon:hover {
    color: #fffefc
}

.btn-only-icon:hover:before {
    content: "";
    width: 100%;
    height: 100%;
    transition-delay: .15s
}

.landing-logo-hero {
    color: #fffefc;
    transition: color .6s ease;
    position: absolute;
    z-index: 999;
    left: 3vw;
    width: calc(100% - 6vw - var(--widthX, 0px));
    min-width: 280px !important;
    bottom: 4.8rem
}

body.home-switch-logo .landing-logo-hero {
    opacity: 0;
    visibility: hidden
}

body.home .landing-logo-hero {
    display: block
}

body.home .landing-logo-hero path {
    transform: scaleY(1.4) translateY(100%);
    transition: transform 1.3s cubic-bezier(.4, .5, .1, 1)
}

body.home .landing-logo-hero path:first-child {
    transition-delay: 15ms
}

body.home .landing-logo-hero path:nth-child(2) {
    transition-delay: .03s
}

body.home .landing-logo-hero path:nth-child(3) {
    transition-delay: 45ms
}

body.home .landing-logo-hero path:nth-child(4) {
    transition-delay: .06s
}

body.home .landing-logo-hero path:nth-child(5) {
    transition-delay: 75ms
}

body.home .landing-logo-hero path:nth-child(6) {
    transition-delay: .09s
}

body.home .landing-logo-hero path:nth-child(7) {
    transition-delay: .105s
}

body.home .landing-logo-hero path:nth-child(8) {
    transition-delay: .12s
}

body.home .landing-logo-hero path:nth-child(9) {
    transition-delay: .135s
}

body.home .landing-logo-hero path:nth-child(10) {
    transition-delay: .15s
}

html:not(.page-transition) body.home.has-landed .landing-logo-hero path {
    transform: none;
    opacity: 1
}

html:not(.page-transition) body.home:not(.has-loaded) .landing-logo-hero {
    color: #0d0c09
}

html:not(.page-transition) body.home.has-loaded .landing-logo-hero {
    transition-delay: .6s
}

body.home #page-header .header-inner {
    opacity: 0;
    transform: translateY(-1.6rem);
    transition: all 1.3s cubic-bezier(.4, .5, .1, 1)
}

html:not(.page-transition) body.home.has-displayed #page-header .header-inner {
    opacity: 1;
    transform: none;
    transition-delay: .4s
}

body #page-body .section:not(.hero-section):not(.cpt-section) {
    opacity: 0;
    transform: translateY(1.6rem);
    transition: all 1.3s cubic-bezier(.4, .5, .1, 1)
}

html:not(.page-transition) body.has-loaded #page-body .section:not(.hero-section):not(.cpt-section) {
    opacity: 1;
    transform: none
}

@media only screen and (max-width:768px) {
    .landing-logo-hero {
        display: none !important;
        left: 2.4rem;
        width: calc(100% - 4.8rem - var(--widthX, 0px));
        bottom: 3.2rem;
        min-width: 220px !important
    }
}

.word-lettering {
    perspective: 500px;
    transform-origin: bottom left;
    display: block
}

.word-lettering .word {
    overflow: hidden;
    display: inline-flex;
    transform: translate3d(0, 20%, 0) rotateY(5deg) rotate(2deg) scale(.95);
    transform-origin: bottom left;
    transition: all .8s cubic-bezier(.4, .5, .1, 1), opacity .8s ease;
    opacity: 0
}

.word-lettering .word>span:after {
    content: " ";
    display: inline-block
}

.home.has-displayed .hero-section .word-lettering .word,
.home section:not(.hero-section) .word-lettering.do-anim.is-animated .word,
.home section:not(.hero-section) .word-lettering:not(.do-anim):not(.do-activate) .word,
body:not(.home) .word-lettering.do-anim.is-animated .word,
body:not(.home) .word-lettering:not(.do-anim):not(.do-activate) .word {
    transform: none;
    opacity: 1;
    transition: all 1.3s cubic-bezier(.4, .5, .1, 1), opacity 1.6s ease;
    transition-delay: calc(var(--word-index)*30ms + .1s)
}

.fs-tab-content.is-active .word-lettering.do-activate .word {
    transform: none;
    opacity: 1;
    transition: all 1.3s cubic-bezier(.4, .5, .1, 1), opacity 1.6s ease;
    transition-delay: calc(var(--word-random)*30ms + .3s)
}

.media-hover:hover .word-lettering.do-activate .word {
    transform: none;
    opacity: 1;
    transition: all 1.3s cubic-bezier(.4, .5, .1, 1), opacity 1.6s ease;
    transition-delay: calc(var(--word-random)*30ms)
}

.big-list {
    border-bottom: 1px solid rgba(13, 12, 9, .14)
}

.big-list .item {
    display: flex;
    align-items: center;
    position: relative;
    padding: 2.4rem 0;
    border-top: 1px solid rgba(13, 12, 9, .14)
}

.big-list .item .item-symbole {
    font-size: clamp(24px, 1.4vw, 28px);
    font-weight: 500;
    width: 9.6rem;
    color: #0d0c09
}

.big-list .item .item-symbole svg {
    width: 2.4rem
}

.big-list .item .item-content {
    flex: 1
}

.big-list .item .item-content .item-name {
    margin: 0;
    pointer-events: none;
    overflow: hidden;
    position: relative;
    vertical-align: top;
    pointer-events: all;
    display: block
}

.big-list .item .item-content .item-name:before {
    display: none
}

.big-list .item .item-content .item-name span {
    display: inline-block;
    transform-origin: bottom left
}

.big-list .item .item-content .item-name span:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate3d(0, 100%, 0) rotateY(15deg) rotate(3deg)
}

.big-list .item .item-content p {
    margin-top: 2.4rem
}

.big-list .item .item-hovericon {
    display: inline-block;
    width: 4rem;
    height: 4rem;
    margin-left: 2.4rem;
    transform: translateY(.4rem);
    position: relative;
    color: #fffefc
}

.big-list .item .item-hovericon:before {
    content: "";
    width: 0;
    height: 0;
    transform: translateY(-50%) translateX(-50%);
    background: #c769b0;
    border-radius: 40px
}

.big-list .item .item-hovericon:before,
.big-list .item .item-hovericon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transition: all .65s cubic-bezier(.4, .5, .1, 1)
}

.big-list .item .item-hovericon svg {
    z-index: 1;
    width: 20px;
    height: 20px;
    transform: translateY(0) translateX(-100%) rotate(-45deg);
    opacity: 0
}

.big-list .item.is-active .item-name span {
    transition: all .75s cubic-bezier(.4, .5, .1, 1);
    transform: translate3d(0, -100%, 0) rotateY(15deg) rotate(-3deg)
}

.big-list .item.is-active .item-name span:not(:first-child) {
    transform: none;
    transition: all .75s cubic-bezier(.4, .5, .1, 1);
    opacity: 1
}

.big-list .item.is-active .item-hovericon:before {
    content: "";
    width: 100%;
    height: 100%;
    transition-delay: .15s
}

.big-list .item.is-active .item-hovericon svg {
    transform: translateY(-50%) translateX(-50%) rotate(-45deg);
    opacity: 1;
    transition-delay: .15s
}

.service-image-list {
    overflow: hidden;
    position: relative;
    margin-top: 4.8rem;
    width: 100%;
    padding-top: 100%;
    opacity: 0;
    transition: all .7s ease .4s
}

.service-image-list:has(.is-active) {
    opacity: 1;
    transition: all .01s ease
}

.service-image-list .item,
.service-image-list .item .fs-media,
.service-image-list .item .fs-media-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.service-image-list .item .fs-media-item img,
.service-image-list .item .fs-media-item video,
.service-image-list .item .fs-media img,
.service-image-list .item .fs-media video,
.service-image-list .item img,
.service-image-list .item video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.service-image-list .item .fs-media-item .fs-media-item-inner {
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    transition: all .01s cubic-bezier(.4, .5, .1, 1) .85s;
    transform: rotate(5deg) translateX(0);
    position: absolute;
    top: 15%;
    left: 15%;
    width: 70%;
    height: 70%
}

.service-image-list .item.is-active .fs-media-item .fs-media-item-inner {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: none;
    transition: all .7s cubic-bezier(.4, .5, .1, 1) .15s
}

@media only screen and (max-width:768px) {
    .service-image-list {
        display: none
    }
}

/*! Flickity v2.0.11
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
    position: relative
}

.flickity-enabled:focus {
    outline: none
}

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%;
    width: 100%;
    overflow: visible
}

.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%
}

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.flickity-prev-next-button {
    display: none
}

.pseudo-pagination>.btn {
    display: inline-block;
    margin: 0 .6rem
}

.pseudo-pagination>.btn svg {
    transition: opacity .4s ease
}

.pseudo-pagination>.btn.is-disabled {
    pointer-events: none
}

.pseudo-pagination>.btn.is-disabled svg {
    opacity: .2
}

.text-light .pseudo-pagination>.btn .btn-icon {
    color: #fffefc
}

@media only screen and (max-width:768px) {
    .pseudo-pagination {
        display: none
    }
}

.mouse-cursor {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 20px;
    width: auto;
    height: auto;
    color: #fffefc;
    border-radius: 40px;
    overflow: hidden;
    pointer-events: none;
    padding: 3px 3px 3px 1.2rem;
    display: block
}

.mouse-cursor>* {
    display: flex;
    align-items: center
}

.mouse-cursor .cursor-text {
    font-size: clamp(14px, .9vw, 16px);
    font-weight: 500;
    position: relative;
    z-index: 2;
    display: block;
    transition: all .45s cubic-bezier(.4, .5, .1, 1);
    opacity: 0
}

.mouse-cursor .cursor-icon {
    z-index: 2;
    position: relative;
    width: 24px;
    height: 24px;
    padding: 4px;
    display: block;
    margin-left: 1.2rem;
    overflow: hidden;
    border-radius: 20px
}

.mouse-cursor .cursor-icon:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    background: #fffefc;
    border-radius: 40px;
    transition: all .45s cubic-bezier(.4, .5, .1, 1) 0s
}

.mouse-cursor .cursor-icon svg {
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    transform: translateY(0) translateX(-100%) rotate(-45deg);
    transition: all .45s cubic-bezier(.4, .5, .1, 1);
    opacity: 0;
    color: #0d0c09
}

.mouse-cursor:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    left: 0;
    background: #c769b0;
    border-radius: 40px;
    transform: translateY(-50%);
    transition: all .35s cubic-bezier(.4, .5, .1, 1) .15s
}

html:not(.page-transition) body.cursor-is-view .mouse-cursor:before {
    width: 100%;
    height: 100%;
    transition-delay: 0s
}

html:not(.page-transition) body.cursor-is-view .mouse-cursor .cursor-text {
    transform: none;
    transition-delay: .25s;
    opacity: 1
}

html:not(.page-transition) body.cursor-is-view .mouse-cursor .cursor-icon:before {
    content: "";
    width: 100%;
    height: 100%;
    transition-delay: .15s
}

html:not(.page-transition) body.cursor-is-view .mouse-cursor .cursor-icon svg {
    transform: translateY(-50%) translateX(-50%) rotate(-45deg);
    opacity: 1;
    transition-delay: .15s
}

@media only screen and (max-width:1280px) {
    .mouse-cursor {
        display: none
    }
}

.testimonial-section {
    background: #f7f1e8
}

.testimonial-section .testimonial-content {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
    padding-right: 6.4rem
}

.testimonial-section .colhead {
    max-width: 540px;
    margin-bottom: 9.6rem
}

.testimonial-image-list {
    overflow: hidden;
    position: relative;
    width: calc(100% + 3vw);
    padding-top: calc(100vh - 8rem);
    min-height: 600px;
    opacity: 0;
    transition: all .7s ease .4s
}

.testimonial-image-list:has(.is-active) {
    opacity: 1;
    transition: all .01s ease
}

.testimonial-image-list .item,
.testimonial-image-list .item .fs-media,
.testimonial-image-list .item .fs-media-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.testimonial-image-list .item .fs-media-item img,
.testimonial-image-list .item .fs-media-item video,
.testimonial-image-list .item .fs-media img,
.testimonial-image-list .item .fs-media video,
.testimonial-image-list .item img,
.testimonial-image-list .item video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.testimonial-image-list .item .fs-media-item .fs-media-item-inner {
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    transition: all .01s cubic-bezier(.4, .5, .1, 1) .85s;
    transform: rotate(5deg) translateX(0);
    position: absolute;
    top: 15%;
    left: 15%;
    width: 70%;
    height: 70%
}

.testimonial-image-list .item.is-active .fs-media-item .fs-media-item-inner {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: none;
    transition: all .7s cubic-bezier(.4, .5, .1, 1) .15s
}

.testimonial-pagination {
    display: flex;
    align-content: center;
    margin-top: 4.8rem
}

.testimonial-pagination .testimonial-pagination-item {
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    margin: 0 .4rem;
    cursor: pointer;
    opacity: .4;
    position: relative
}

.testimonial-pagination .testimonial-pagination-item:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: .8rem;
    height: .8rem;
    background: #c769b0;
    border-radius: 10px
}

.testimonial-pagination .testimonial-pagination-item.is-active {
    opacity: 1;
    cursor: default;
    pointer-events: none
}

.testimonial-pagination .testimonial-pagination-item:first-child {
    margin-left: -.4rem
}

.testimonial-pagination .testimonial-pagination-item:last-child {
    margin-right: 0
}

@media only screen and (max-width:768px) {
    .testimonial-section .testimonial-content {
        padding-right: 0
    }

    .testimonial-section .col-s12e24 {
        display: none
    }
}

.fs-tab-group {
    transition: height .6s cubic-bezier(.4, 0, .3, .99);
    position: relative
}

.fs-tab-group .fs-tab-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none
}

.fs-tab-group .fs-tab-content .fs-tab-content-inner,
.fs-tab-group .fs-tab-content [class*=col-] {
    transition: all .2s cubic-bezier(.77, 0, .175, 1) 1s;
    opacity: 0
}

.fs-tab-group .fs-tab-content.is-active {
    pointer-events: all
}

.fs-tab-group .fs-tab-content.is-active .fs-tab-content-inner,
.fs-tab-group .fs-tab-content.is-active [class*=col-] {
    transform: none;
    opacity: 1;
    transition-delay: 0s
}

.fs-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.fs-gallery .w-12 {
    flex: 1 1 calc(100% - 8px)
}

.fs-gallery .w-6 {
    flex: 1 1 calc(50% - 8px)
}

.fs-gallery .w-4 {
    width: calc(33.33% - 8px)
}

.service-detail-container .service-detail-item {
    padding: 9.6rem 0;
    border-top: 1px solid rgba(13, 12, 9, .14)
}

.service-detail-container .service-detail-item:first-child {
    border: none;
    padding-top: 0
}

.service-detail-container .service-detail-item:last-child {
    padding-bottom: 0
}

.service-detail-container .service-detail-item .fs-gallery,
.service-detail-container .service-detail-item .service-detail-text {
    margin-top: 4.8rem
}

.service-detail-container .service-detail-item .fs-gallery .fs-gallery-item:nth-child(1n),
.service-detail-container .service-detail-item .fs-gallery .fs-gallery-item:nth-child(1n+4) {
    flex: 1 1 calc(55% - 8px)
}

.service-detail-container .service-detail-item .fs-gallery .fs-gallery-item:nth-child(2n),
.service-detail-container .service-detail-item .fs-gallery .fs-gallery-item:nth-child(2n+4),
.service-detail-container .service-detail-item .fs-gallery .fs-gallery-item:nth-child(3n),
.service-detail-container .service-detail-item .fs-gallery .fs-gallery-item:nth-child(3n+4) {
    flex: 1 1 calc(45% - 8px)
}

.service-detail-container .service-detail-item .fs-gallery .fs-gallery-item:nth-child(4n),
.service-detail-container .service-detail-item .fs-gallery .fs-gallery-item:nth-child(4n+4) {
    flex: 1 1 calc(55% - 8px)
}

.service-detail-container .service-detail-item .fs-gallery .fs-gallery-item .fs-media-item {
    height: 36vh !important;
    padding: 0 !important
}

.service-detail-container .service-detail-item:nth-child(odd) .fs-gallery .fs-gallery-item:nth-child(1n),
.service-detail-container .service-detail-item:nth-child(odd) .fs-gallery .fs-gallery-item:nth-child(1n+4) {
    flex: 1 1 calc(45% - 8px)
}

.service-detail-container .service-detail-item:nth-child(odd) .fs-gallery .fs-gallery-item:nth-child(2n),
.service-detail-container .service-detail-item:nth-child(odd) .fs-gallery .fs-gallery-item:nth-child(2n+4),
.service-detail-container .service-detail-item:nth-child(odd) .fs-gallery .fs-gallery-item:nth-child(3n),
.service-detail-container .service-detail-item:nth-child(odd) .fs-gallery .fs-gallery-item:nth-child(3n+4) {
    flex: 1 1 calc(55% - 8px)
}

.service-detail-container .service-detail-item:nth-child(odd) .fs-gallery .fs-gallery-item:nth-child(4n),
.service-detail-container .service-detail-item:nth-child(odd) .fs-gallery .fs-gallery-item:nth-child(4n+4) {
    flex: 1 1 calc(45% - 8px)
}

.service-details-section .sticky-el {
    min-height: calc(100svh - 160px - 6.4rem);
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.service-details-section .sticky-el strong {
    color: rgba(13, 12, 9, .5)
}

.sticky-parent {
    position: relative
}

.grid-cpt .grid-item .media-meta:not(.media-meta-hover),
.grid-gallery .grid-item .media-meta:not(.media-meta-hover) {
    margin-top: 1.6rem;
    margin-bottom: 3.2rem
}

.grid-cpt.grid-default,
.grid-gallery.grid-default {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.grid-cpt.grid-default .grid-item,
.grid-gallery.grid-default .grid-item {
    width: calc(33.333% - 5.33333px)
}

.grid-cpt.grid-odd:not(.grid-odd-test) .grid-item:nth-child(4n-3),
.grid-gallery.grid-odd:not(.grid-odd-test) .grid-item:nth-child(4n-3) {
    grid-column-start: 3;
    grid-column-end: 12
}

.grid-cpt.grid-odd:not(.grid-odd-test) .grid-item:nth-child(4n-2),
.grid-gallery.grid-odd:not(.grid-odd-test) .grid-item:nth-child(4n-2) {
    grid-column-start: 12;
    grid-column-end: 23
}

.grid-cpt.grid-odd:not(.grid-odd-test) .grid-item:nth-child(4n-1),
.grid-gallery.grid-odd:not(.grid-odd-test) .grid-item:nth-child(4n-1) {
    grid-column-start: 3;
    grid-column-end: 14
}

.grid-cpt.grid-odd:not(.grid-odd-test) .grid-item:nth-child(4n),
.grid-gallery.grid-odd:not(.grid-odd-test) .grid-item:nth-child(4n) {
    grid-column-start: 14;
    grid-column-end: 23
}

.grid-cpt.grid-odd:not(.grid-odd-test) .grid-item .fs-media-item,
.grid-gallery.grid-odd:not(.grid-odd-test) .grid-item .fs-media-item {
    height: 50vh !important;
    padding: 0 !important
}

.grid-cpt.grid-slider .flickity-viewport,
.grid-gallery.grid-slider .flickity-viewport {
    display: flex
}

.grid-cpt.grid-slider .grid-item,
.grid-gallery.grid-slider .grid-item {
    width: calc(33.333% - 5.33333px);
    margin-right: 8px
}

.grid-cpt.grid-slider .grid-item .media-meta,
.grid-gallery.grid-slider .grid-item .media-meta {
    margin-bottom: 0
}

.fs-gallery+.grid-cpt,
.fs-gallery+.grid-gallery,
.grid-cpt+.fs-gallery,
.grid-cpt+.grid-odd,
.grid-gallery+.fs-gallery,
.grid-gallery+.grid-odd {
    margin-top: 8px
}

.wrapper-full .grid-cpt.grid-odd .grid-item:nth-child(4n-3),
.wrapper-full .grid-gallery.grid-odd .grid-item:nth-child(4n-3) {
    grid-column-start: 1;
    grid-column-end: 12
}

.wrapper-full .grid-cpt.grid-odd .grid-item:nth-child(4n-2),
.wrapper-full .grid-gallery.grid-odd .grid-item:nth-child(4n-2) {
    grid-column-start: 12;
    grid-column-end: 25
}

.wrapper-full .grid-cpt.grid-odd .grid-item:nth-child(4n-1),
.wrapper-full .grid-gallery.grid-odd .grid-item:nth-child(4n-1) {
    grid-column-start: 1;
    grid-column-end: 14
}

.wrapper-full .grid-cpt.grid-odd .grid-item:nth-child(4n),
.wrapper-full .grid-gallery.grid-odd .grid-item:nth-child(4n) {
    grid-column-start: 14;
    grid-column-end: 25
}

.grid-cpt.grid-odd.grid-odd-test,
.grid-gallery.grid-odd.grid-odd-test {
    row-gap: 8rem
}

.grid-cpt.grid-odd.grid-odd-test .grid-item:nth-child(4n-3),
.grid-gallery.grid-odd.grid-odd-test .grid-item:nth-child(4n-3) {
    grid-column-start: 1;
    grid-column-end: 11 !important
}

.grid-cpt.grid-odd.grid-odd-test .grid-item:nth-child(4n),
.grid-gallery.grid-odd.grid-odd-test .grid-item:nth-child(4n) {
    grid-column-start: 15 !important;
    grid-column-end: 25
}

.pseudo-pagination-cpt {
    display: flex;
    align-items: felx-end;
    justify-content: right
}

.pseudo-pagination-cpt .btn-only-icon:first-child {
    margin-left: 0
}

.pseudo-pagination-cpt .btn-only-icon:last-child {
    margin-right: -8px
}

.pseudo-pagination-cpt .btn-only-icon.pseudo-prev .btn-icon svg {
    transform: rotate(-180deg)
}

.pseudo-pagination-cpt .btn-only-icon.is-disabled {
    opacity: .3;
    cursor: default;
    pointer-events: none
}

@media only screen and (max-width:768px) {

    .grid-cpt.grid-gallery.grid-odd .grid-item,
    .grid-cpt.grid-odd .grid-item,
    .grid-gallery.grid-gallery.grid-odd .grid-item,
    .grid-gallery.grid-odd .grid-item {
        grid-column-start: 1 !important;
        grid-column-end: 3 !important
    }

    .grid-cpt.grid-gallery.grid-odd .grid-item .fs-media-item,
    .grid-cpt.grid-odd .grid-item .fs-media-item,
    .grid-gallery.grid-gallery.grid-odd .grid-item .fs-media-item,
    .grid-gallery.grid-odd .grid-item .fs-media-item {
        height: auto !important;
        padding-top: 75% !important
    }

    .grid-cpt.grid-slider .grid-item,
    .grid-gallery.grid-slider .grid-item {
        width: 90%;
        margin-right: 8px
    }

    .grid-cpt.grid-slider .grid-item .media-meta,
    .grid-gallery.grid-slider .grid-item .media-meta {
        margin-bottom: 0
    }
}

@media only screen and (min-width:769px) {
    #phatscroll {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%
    }
}

@media only screen and (max-width:768px) {
    #phatscroll {
        overflow: hidden
    }
}

.page-transition-element {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fffefc;
    z-index: 999;
    opacity: 0;
    pointer-events: none
}

html.page-transition .page-transition-element {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: none;
    transition: all .4s ease;
    background: #fffefc;
    opacity: 1
}

html.page-transition-end .page-transition-element {
    opacity: 0;
    transition: all .1s ease
}

.fs-infoboxes {
    margin-top: 4.8rem;
    display: flex;
    gap: 2.4rem;
    row-gap: 4.8rem;
    flex-wrap: wrap
}

.fs-infoboxes:first-child {
    margin-top: 0
}

.fs-infoboxes .fs-infoboxes-item {
    width: calc(50% - 1.2rem)
}

.fs-infoboxes .fs-infoboxes-item .fs-infoboxes-item-title {
    display: block;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    padding-bottom: 1.6rem;
    margin-bottom: 1.6rem
}

@media only screen and (max-width:1140px) {
    .fs-infoboxes .fs-infoboxes-item {
        width: 100%
    }
}

button,
input[type=email],
input[type=number],
input[type=password],
input[type=submit],
input[type=tel],
input[type=text],
select,
textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
    border: none;
    background: none
}

button:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=submit]:focus,
input[type=tel]:focus,
input[type=text]:focus,
select:focus,
textarea:focus {
    outline: none
}

::placeholder {
    color: #0d0c09;
    opacity: .2
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
textarea {
    font-family: "Noto Serif JP", serif;
    font-size: clamp(28px, 2vw, 34px);
    font-weight: 400;
    background: none;
    border-bottom: 1px solid rgba(13, 12, 9, .14);
    line-height: 28px !important;
    height: auto;
    color: #0d0c09;
    padding: .8rem 0;
    border-radius: 0;
    resize: none;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    transition: border .4s ease
}

input[type=date]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=url]:focus,
textarea:focus {
    border-color: #0d0c09
}

.form-value {
    margin-top: 0
}

.form-value:first-child {
    margin: 0
}

label {
    font-size: clamp(14px, .9vw, 16px);
    font-weight: 400;
    color: #0d0c09;
    position: relative
}

.form-inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.form-row {
    margin-top: 3.2rem;
    width: 100%
}

.form-row:first-child {
    margin: 0
}

.form-row:first-child.form-row-half+.form-row-half {
    margin-top: 0
}

.form-row.form-row-half {
    width: calc(50% - 2.4rem)
}

.form-row:has(.wpcf7-not-valid-tip) label:after {
    content: "";
    position: absolute;
    top: -4px;
    left: -8px;
    width: calc(100% + 16px);
    height: calc(100% + 8px);
    background: red;
    border-radius: 20px;
    opacity: .15
}

.wpcf7-form-control-wrap {
    position: relative;
    display: block
}

.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    display: none;
    position: absolute;
    top: 8px;
    left: -16px;
    width: 5px;
    height: 5px;
    background: red;
    border-radius: 20px;
    text-indent: -9999px
}

.wpcf7-form-control-wrap .wpcf7-checkbox~.wpcf7-not-valid-tip {
    display: none
}

.wpcf7 form .wpcf7-response-output {
    border: none;
    background: none;
    margin: 1.6rem 0 0;
    padding: 0;
    font-size: clamp(16px, 1.2vw, 18px);
    color: #0d0c09;
    font-weight: 500
}

@media only screen and (max-width:768px) {
    .form-row {
        margin-top: 3.2rem !important;
        width: 100% !important
    }

    .form-row:first-child {
        margin: 0 !important
    }
}

body .cmplz-cookiebanner {
    width: 360px;
    min-width: 360px;
    max-width: 360px;
    right: 16px;
    bottom: 16px;
    top: auto;
    left: auto;
    display: block;
    border-radius: 0 !important;
    box-shadow: 0 8px 16px rgba(149, 157, 165, .2) !important;
    border: 1px solid rgba(13, 12, 9, .08)
}

body .cmplz-cookiebanner .cmplz-header {
    text-align: left;
    display: flex;
    justify-content: space-between
}

body .cmplz-cookiebanner .cmplz-header .cmplz-title {
    font-size: clamp(20px, 1.4vw, 22px);
    font-weight: 500;
    font-family: "Noto Serif JP", serif
}

body .cmplz-cookiebanner .cmplz-header .cmplz-close {
    position: relative;
    width: 20px;
    height: 20px
}

body .cmplz-cookiebanner .cmplz-header .cmplz-close svg {
    display: none
}

body .cmplz-cookiebanner .cmplz-header .cmplz-close:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0d0c09;
    -webkit-mask-image: url(https://www.tilesuite.lu/wp-content/themes/fstheme/assets/img/cross.svg);
    mask-image: url(https://www.tilesuite.lu/wp-content/themes/fstheme/assets/img/cross.svg);
    transform: rotate(-45deg)
}

body .cmplz-cookiebanner .cmplz-body {
    margin-top: 1.2rem;
    margin-bottom: 1.2rem
}

body .cmplz-cookiebanner .cmplz-body .cmplz-message {
    color: rgba(13, 12, 9, .6);
    font-size: clamp(12px, .9vw, 13px);
    line-height: 1.1;
    width: 100%
}

body .cmplz-cookiebanner .cmplz-body .cmplz-message p {
    margin-top: 1.6rem
}

body .cmplz-cookiebanner .cmplz-buttons {
    flex-direction: column
}

body .cmplz-cookiebanner .cmplz-btn {
    font-size: clamp(14px, .9vw, 16px) !important;
    font-weight: 500;
    line-height: 1.5;
    padding: 1.2rem 0 !important;
    height: auto !important;
    border: none !important;
    background: #f7f1e8 !important;
    color: #0d0c09 !important;
    border-radius: 30px !important;
    text-align: center;
    justify-content: center
}

body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
    background-color: #0d0c09 !important;
    color: #fffefc !important
}

body .cmplz-cookiebanner .cmplz-links {
    margin-top: .4rem
}

body .cmplz-cookiebanner .cmplz-links .cmplz-link {
    font-size: clamp(12px, .9vw, 13px);
    color: rgba(13, 12, 9, .6)
}

body .cmplz-cookiebanner .cmplz-links .cmplz-link.privacy-statement {
    display: none
}

body .cmplz-cookiebanner .cmplz-categories {
    width: 100%;
    padding-top: .8rem;
    padding-bottom: .8rem
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category {
    border: 1px solid rgba(13, 12, 9, .08);
    border-radius: 1.6rem;
    background: none
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
    padding: .6rem 1rem
}

body #cmplz-manage-consent .cmplz-manage-consent {
    bottom: 16px !important;
    text-indent: -9999px;
    width: 44px;
    min-width: inherit;
    height: 44px;
    border-radius: 30px;
    padding: 0;
    right: 16px;
    box-shadow: none !important;
    border: 1px solid rgba(13, 12, 9, .08)
}

body #cmplz-manage-consent .cmplz-manage-consent:after {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    width: 24px;
    height: 24px;
    background-color: #0d0c09;
    -webkit-mask-image: url(https://www.tilesuite.lu/wp-content/themes/fstheme/assets/img/cookie.svg);
    mask-image: url(https://www.tilesuite.lu/wp-content/themes/fstheme/assets/img/cookie.svg)
}

body:not(.privacy-policy) #cmplz-manage-consent {
    display: none
}

/* ==========================================
   カスタムロゴスタイル - 7392
   ========================================== */
/* インラインSVGロゴに戻したため、imgタグ用CSSは不要 */

/* ==========================================
   フォント統一 - Noto Serif JP - 7392
   ========================================== */
html,
body,
h1, h2, h3, h4, h5, h6,
p, a, span, li, td, th, div,
input, textarea, select, button,
input[type=text],
input[type=email],
input[type=tel],
input[type=url],
.header-nav nav ul li a,
.header-toggle .open-mobile-menu,
.header-contact-btn a,
.fs-filter ul li a,
.footer-nav nav ul li a,
.footer-title,
.footer-address,
.footer-contact,
.footer-hours,
.footer-bottom,
.footer-logo,
.made-by,
.copyright,
.wpcf7,
.wpcf7-form,
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form label,
.wpcf7-submit,
.contact-form,
.section-contact,
.cta-section,
[class*="footer"],
[class*="contact"] {
    font-family: "Noto Serif JP", serif;
}