@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap');

:root {
    --vh-100: 100vh
}

html {
    font-family: 'Noto Serif JP', 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;
    font-family: 'Noto Serif JP', serif;
    color: rgba(0, 0, 0, .5);
    font-size: clamp(16px, 1vw, 19px);
    line-height: 1.65;
    font-weight: 400;
    overflow-x: hidden
}

body .text-light {
    color: #fff
}

*,
:after,
:before {
    box-sizing: border-box;
    background-repeat: no-repeat;
    margin: 0
}

a {
    text-decoration: none;
    color: #000
}

.text-light a {
    color: #fff
}

.sm-show {
    display: none !important
}

@media only screen and (max-width:1480px) {
    html {
        font-size: 55%
    }
}

@media only screen and (max-width:768px) {
    html {
        font-size: 55%
    }

    body {
        font-size: 14px
    }

    .sm-hide {
        display: none
    }

    .sm-show {
        display: block !important
    }

    .sm-show.btn {
        display: inline-flex !important
    }
}

@font-face {
    font-family: Hendriz;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/Hendriz-Regular.woff2?v=1.16) format("woff2"), url(../fonts/Hendriz-Regular.woff?v=1.16) format("woff")
}

@font-face {
    font-family: Hendriz;
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/Hendriz-Medium.woff?v=1.16) format("woff2"), url(../fonts/Hendriz-Medium.woff?v=1.16) format("woff")
}

@font-face {
    font-family: Hendriz;
    font-style: normal;
    font-weight: 600;
    src: url(../fonts/Hendriz-Semibold.woff?v=1.16) format("woff2"), url(../fonts/Hendriz-Semibold.woff?v=1.16) format("woff")
}

@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
    }
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.3;
    margin: 2.4rem 0 0;
    color: #000
}

.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(0, 0, 0, .5)
}

p+.h1,
p+.h2,
p+.h3,
p+.h4,
p+.h5,
p+.h6,
p+h1,
p+h2,
p+h3,
p+h4,
p+h5,
p+h6,
ul+.h1,
ul+.h2,
ul+.h3,
ul+.h4,
ul+.h5,
ul+.h6,
ul+h1,
ul+h2,
ul+h3,
ul+h4,
ul+h5,
ul+h6 {
    margin-top: 5.6rem
}

.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: #fff
}

.text-light .h1.color-light,
.text-light .h2.color-light,
.text-light .h3.color-light,
.text-light .h4.color-light,
.text-light .h5.color-light,
.text-light .h6.color-light,
.text-light h1.color-light,
.text-light h2.color-light,
.text-light h3.color-light,
.text-light h4.color-light,
.text-light h5.color-light,
.text-light h6.color-light {
    color: #c3cee7
}

.text-light.has-background-image .h1.color-light,
.text-light.has-background-image .h2.color-light,
.text-light.has-background-image .h3.color-light,
.text-light.has-background-image .h4.color-light,
.text-light.has-background-image .h5.color-light,
.text-light.has-background-image .h6.color-light,
.text-light.has-background-image h1.color-light,
.text-light.has-background-image h2.color-light,
.text-light.has-background-image h3.color-light,
.text-light.has-background-image h4.color-light,
.text-light.has-background-image h5.color-light,
.text-light.has-background-image h6.color-light {
    color: #fff
}

.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(80px, 5.4vw, 98px);
    line-height: 1.2
}

.h1:before,
h1:before {
    margin-top: -.14em
}

.h1:after,
.h1:before,
h1:after,
h1:before {
    content: "";
    display: block;
    height: 0;
    width: 0
}

.h1:after,
h1:after {
    margin-bottom: -.08em
}

.h2,
h2 {
    font-size: clamp(60px, 4.4vw, 76px);
    line-height: 1.2
}

.h2:before,
h2:before {
    margin-top: -.14em
}

.h2:after,
.h2:before,
h2:after,
h2:before {
    content: "";
    display: block;
    height: 0;
    width: 0
}

.h2:after,
h2:after {
    margin-bottom: -.08em
}

.h3,
h3 {
    font-size: clamp(40px, 3vw, 52px);
    line-height: 1.2
}

.h3:before,
h3:before {
    margin-top: -.14em
}

.h3:after,
.h3:before,
h3:after,
h3:before {
    content: "";
    display: block;
    height: 0;
    width: 0
}

.h3:after,
h3:after {
    margin-bottom: -.08em
}

.h4,
h4 {
    font-size: clamp(28px, 2vw, 36px);
    line-height: 1.3
}

.h4:before,
h4:before {
    margin-top: -.21em
}

.h4:after,
.h4:before,
h4:after,
h4:before {
    content: "";
    display: block;
    height: 0;
    width: 0
}

.h4:after,
h4:after {
    margin-bottom: -.12em
}

.h5,
h5 {
    font-size: clamp(20px, 1.3vw, 26px);
    line-height: 1.4
}

.h5:before,
h5:before {
    margin-top: -.28em
}

.h5:after,
.h5:before,
h5:after,
h5:before {
    content: "";
    display: block;
    height: 0;
    width: 0
}

.h5:after,
h5:after {
    margin-bottom: -.16em
}

.h6,
h6 {
    font-size: clamp(16px, 1vw, 19px);
    line-height: 1.4
}

.h6:before,
h6:before {
    margin-top: -.28em
}

.h6:after,
.h6:before,
h6:after,
h6:before {
    content: "";
    display: block;
    height: 0;
    width: 0
}

.h6:after,
h6:after {
    margin-bottom: -.16em
}

b,
strong {
    font-weight: 500;
    color: #000
}

.text-light b,
.text-light strong {
    color: #fff
}

.color-light strong {
    color: rgba(0, 0, 0, .5)
}

.text-light strong {
    color: #fff
}

.text-light .color-light strong {
    color: #c3cee7
}

.title-404 {
    font-size: clamp(90px, 18vw, 160px);
    font-weight: 500
}

.text-404 {
    max-width: 500px;
    display: block
}

p {
    margin-top: 2.4rem;
    margin-bottom: 0
}

p:before {
    margin-top: -.42em
}

p:after,
p:before {
    content: "";
    display: block;
    height: 0;
    width: 0
}

p:after {
    margin-bottom: -.24em
}

p:first-child {
    margin-top: 0 !important
}

p.no-margin {
    margin-top: .8rem
}

p.color-light {
    color: rgba(0, 0, 0, .5)
}

.cmplz-message p,
.pin-inner p {
    font-size: 13px
}

.cmplz-message p:after,
.cmplz-message p:before,
.pin-inner p:after,
.pin-inner p:before {
    display: none !important
}

.pin-inner {
    font-size: 13px
}

.text-light p.color-light {
    color: #c3cee7
}

.align-center {
    text-align: center
}

.align-right {
    text-align: right
}

.intro {
    color: #000;
    font-weight: 500;
    font-size: clamp(17px, 1.2vw, 20px)
}

.greyed {
    color: rgba(0, 0, 0, .5)
}

@media only screen and (max-width:768px) {

    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-top: 2.4rem
    }

    .h1,
    h1 {
        font-size: clamp(42px, 7vw, 50px)
    }

    .h2,
    h2 {
        font-size: clamp(34px, 6vw, 42px)
    }

    .h3,
    h3 {
        font-size: clamp(26px, 3vw, 30px)
    }

    .h4,
    h4 {
        font-size: 21px
    }

    .h5,
    h5 {
        font-size: 17px
    }

    .h6,
    h6 {
        font-size: 15px
    }

    .h1-mobile {
        font-size: clamp(42px, 7vw, 50px) !important
    }

    .h2-mobile {
        font-size: clamp(34px, 6vw, 42px) !important
    }

    .h3-mobile {
        font-size: clamp(26px, 3vw, 30px) !important
    }

    .h4-mobile {
        font-size: 21px !important
    }

    .h5-mobile {
        font-size: 17px !important
    }

    .h6-mobile {
        font-size: 15px !important
    }

    p {
        margin-top: 2rem
    }

    p.p-btn {
        margin-top: 4rem
    }
}

[class*=wrapper] {
    width: 100%;
    max-width: 1780px;
    padding: 0 17.6rem;
    margin: 0 auto;
    border: 0 solid transparent;
    position: relative
}

[class*=wrapper].wrapper-full {
    width: 100%;
    max-width: 1780px;
    padding: 0 8rem
}

[class*=wrapper].wrapper-small {
    width: 100%;
    max-width: 1440px;
    padding: 0 17.6rem
}

@media only screen and (max-width:1240px) {

    [class*=wrapper],
    [class*=wrapper].wrapper-full,
    [class*=wrapper].wrapper-small {
        padding: 0 4.8rem
    }
}

@media only screen and (max-width:768px) {

    [class*=wrapper],
    [class*=wrapper].wrapper-full,
    [class*=wrapper].wrapper-small {
        padding: 0 2.4rem
    }
}

.grid-row {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 3.2rem);
    margin-left: -1.6rem
}

.grid-row.spaced-small {
    width: calc(100% + 1.6rem);
    margin-left: -.8rem
}

.grid-row.spaced-medium {
    width: calc(100% + 3.2rem);
    margin-left: -1.6rem;
    margin-bottom: -3.2rem
}

.grid-row.spaced-large {
    width: calc(100% + 9.6rem);
    margin-left: -4.8rem
}

.grid-row.spaced-xlarge {
    width: calc(100% + 12.8rem);
    margin-left: -6.4rem
}

.grid-row.bordered,
.grid-row.boxed {
    width: 100%;
    margin-left: 0;
    margin-top: 0;
    margin-bottom: 0
}

.grid-row.vertical-center-align {
    align-items: center
}

.grid-row.vertical-bottom-align {
    align-items: end
}

.grid-row.horizontal-right-align {
    justify-content: flex-end
}

.editor-content .grid-row {
    margin-top: 4.8rem
}

.editor-content .grid-row:first-child {
    margin-top: 0
}

[class*=col-] {
    width: 100%;
    padding: 0 .8rem;
    z-index: 1;
    position: relative
}

[class*=col-].space-between {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

[class*=col-].bordered,
[class*=col-].boxed {
    padding: 4.8rem
}

[class*=col-].bordered:after,
[class*=col-].boxed:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: .6rem;
    z-index: -1
}

[class*=col-].bordered.boxed:after,
[class*=col-].boxed.boxed:after {
    border: none;
    background: #f7f7f7
}

.text-light [class*=col-].bordered:after {
    border-color: #3a527e
}

[class*=has-background] [class*=col-].boxed:after {
    background: #fff
}

.spaced-small>[class*=col-] {
    padding: 0 .8rem
}

.spaced-small>[class*=col-].bordered,
.spaced-small>[class*=col-].boxed {
    padding: 4.8rem 5.6rem
}

.spaced-small>[class*=col-].bordered:after,
.spaced-small>[class*=col-].boxed:after {
    left: .8rem;
    width: calc(100% - 1.6rem)
}

.spaced-small>[class*=col-].col-6:nth-child(2n)~[class*=col-] {
    margin-top: 1.6rem
}

.spaced-small>[class*=col-]:not(.col-6).bordered,
.spaced-small>[class*=col-]:not(.col-6).boxed,
[class*=col-] .spaced-small>[class*=col-].bordered,
[class*=col-] .spaced-small>[class*=col-].boxed {
    padding: 3.2rem 4rem
}

.grid-slider.spaced-medium [class*=col-],
.spaced-medium>[class*=col-] {
    padding: 0 1.6rem;
    margin-bottom: 3.2rem
}

.grid-slider.spaced-medium [class*=col-].bordered,
.grid-slider.spaced-medium [class*=col-].boxed,
.spaced-medium>[class*=col-].bordered,
.spaced-medium>[class*=col-].boxed {
    padding: 4.8rem 6.4rem
}

.grid-slider.spaced-medium [class*=col-].bordered:after,
.grid-slider.spaced-medium [class*=col-].boxed:after,
.spaced-medium>[class*=col-].bordered:after,
.spaced-medium>[class*=col-].boxed:after {
    left: 1.6rem;
    width: calc(100% - 3.2rem)
}

.grid-slider.spaced-medium [class*=col-]:not(.col-6).bordered,
.grid-slider.spaced-medium [class*=col-]:not(.col-6).boxed,
.spaced-medium>[class*=col-]:not(.col-6).bordered,
.spaced-medium>[class*=col-]:not(.col-6).boxed,
[class*=col-] .grid-slider.spaced-medium [class*=col-].bordered,
[class*=col-] .grid-slider.spaced-medium [class*=col-].boxed,
[class*=col-] .spaced-medium>[class*=col-].bordered,
[class*=col-] .spaced-medium>[class*=col-].boxed {
    padding: 3.2rem 4.8rem
}

.spaced-large>[class*=col-] {
    padding: 0 4.8rem
}

.spaced-large>[class*=col-].bordered,
.spaced-large>[class*=col-].boxed {
    padding: 3.2rem 8rem
}

.spaced-large>[class*=col-].bordered:after,
.spaced-large>[class*=col-].boxed:after {
    left: 4.8rem;
    width: calc(100% - 9.6rem)
}

.spaced-xlarge>[class*=col-] {
    padding: 0 6.4rem
}

.spaced-xlarge>[class*=col-].bordered,
.spaced-xlarge>[class*=col-].boxed {
    padding: 3.2rem 9.6rem
}

.spaced-xlarge>[class*=col-].bordered:after,
.spaced-xlarge>[class*=col-].boxed:after {
    left: 6.4rem;
    width: calc(100% - 12.8rem)
}

.has-background-grey [class*=col-].boxed:after {
    background: #fff
}

.has-background-grey [class*=col-].bordered:after {
    border-color: rgba(0, 0, 0, .1)
}

.has-background-blue [class*=col-].boxed:after {
    background: #f7f7f7
}

.has-background-blue [class*=col-].bordered:after {
    border-color: #3a527e
}

.col-1 {
    width: 8.33%
}

.col-2 {
    width: 16.66%
}

.col-2-plus {
    width: 21.66%
}

.col-3 {
    width: 25%
}

.col-4 {
    width: 33.33%
}

.col-5 {
    width: 41.66%
}

.col-6 {
    width: 50%
}

.col-7 {
    width: 58.33%
}

.col-8 {
    width: 66.66%
}

.col-9 {
    width: 75%
}

.col-10 {
    width: 82.33%
}

.col-11 {
    width: 91.66%
}

.col-12 {
    width: 100%
}

.pos-1 {
    order: 1
}

.pos-2 {
    order: 2
}

.grid-categories [class*=col-],
.grid-projects [class*=col-] {
    padding-bottom: .8rem
}

@media only screen and (max-width:768px) {

    .grid-row,
    .grid-row.spaced-large,
    .grid-row.spaced-medium,
    .grid-row.spaced-xlarge {
        width: calc(100% + 2.4rem);
        margin-left: -1.2rem;
        margin-bottom: -2.4rem
    }

    .grid-row [class*=col-] {
        margin-bottom: 2rem
    }

    .grid-row [class*=col-]:first-child {
        margin-top: 0
    }

    .editor-content .grid-row {
        margin-top: 2.4rem
    }

    [class*=col-] {
        padding: 0 1.2rem;
        width: 100%
    }

    .spaced-large>[class*=col-],
    .spaced-medium>[class*=col-],
    .spaced-xlarge>[class*=col-] {
        padding: 0 1.2rem;
        margin-bottom: 2.4rem
    }

    .spaced-large>[class*=col-].bordered,
    .spaced-large>[class*=col-].boxed,
    .spaced-medium>[class*=col-].bordered,
    .spaced-medium>[class*=col-].boxed,
    .spaced-xlarge>[class*=col-].bordered,
    .spaced-xlarge>[class*=col-].boxed {
        padding: 2.4rem 3.6rem !important
    }

    .spaced-large>[class*=col-].bordered:after,
    .spaced-large>[class*=col-].boxed:after,
    .spaced-medium>[class*=col-].bordered:after,
    .spaced-medium>[class*=col-].boxed:after,
    .spaced-xlarge>[class*=col-].bordered:after,
    .spaced-xlarge>[class*=col-].boxed:after {
        left: 1.2rem;
        width: calc(100% - 2.4rem)
    }

    .grid-row.sm-2-col {
        width: calc(100% + 2.4rem);
        margin-left: -1.2rem
    }

    .grid-row.sm-2-col [class*=col-] {
        width: 50%;
        padding: 0 1.2rem
    }

    .grid-row.sm-2-col [class*=col-]:first-child,
    .grid-row.sm-2-col [class*=col-]:nth-child(2) {
        margin-top: 0
    }

    .grid-categories.grid-slider [class*=col-] {
        padding: 0 1.2rem;
        width: calc(100% - 9.6rem)
    }

    .grid-history-tabs.grid-slider [class*=col-] {
        width: 40%
    }

    .sm-grid-slider [class*=col-] {
        padding: 2.4rem 3.2rem !important;
        width: calc(100% - 8.4rem)
    }

    .sm-grid-slider [class*=col-].bordered:after {
        left: 1.2rem;
        width: calc(100% - 2.4rem)
    }

    .grid-categories [class*=col-],
    .grid-projects [class*=col-] {
        padding-bottom: 2.4rem
    }

    .pos-1,
    .pos-2 {
        order: inherit
    }
}

.section {
    position: relative;
    margin: 12.8rem 0
}

.section .section-inner>.section:first-child,
.section:first-child {
    margin-top: 0
}

.section .section-inner>.section:last-child {
    margin-bottom: 0
}

.section>* {
    z-index: 3;
    position: relative
}

.section:has(>.fs-bg) {
    padding: 12.8rem 0
}

.section.hero-section .section-inner {
    padding-top: 14.4rem;
    padding-bottom: 8rem
}

.section.hero-section .back-to-page {
    padding-top: 10rem
}

.section.hero-section .back-to-page+.section-inner {
    padding-top: 8rem
}

.section.hero-section.has-filter .section-inner {
    padding-bottom: 4rem
}

.section.hero-section.has-filter .section-inner .page-title-filter {
    margin-top: 3.2rem;
    margin-bottom: -1.6rem
}

.section.hero-section.has-filter .section-inner .page-title-filter .fs-filter {
    padding-bottom: 1.6rem
}

.section.hero-section:not(.has-border):not(.has-background-image):not(.has-below-image)+section {
    margin-top: calc(-12.8rem - 1px)
}

.section.hero-section .page-title-image {
    padding-top: 32%;
    position: relative
}

.section.section-full {
    min-height: 100svh;
    display: flex;
    align-items: center
}

#page-header+.section.section-full {
    margin: 0
}

.section.section-full .section-inner {
    width: 100%;
    padding: 0
}

.section.has-border {
    transition: all .9s ease
}

.section.has-border+.section {
    border-top: 1px solid transparent
}

.section.has-border:not(.hero-section) {
    padding-bottom: 12.8rem
}

body.has-displayed .section.has-border {
    border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.section[class*=has-background] {
    padding: 12.8rem 0
}

.section[class*=has-background]+[class*=has-background] {
    margin-top: calc(-12.8rem - 1px)
}

.section[class*=has-background]:last-child {
    margin-bottom: -1px
}

body.page-template-template-landing .section.hero-section {
    align-items: end;
    padding-bottom: 6.4rem
}

.fs-bg {
    width: 100.2%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    overflow: hidden
}

.fs-bg,
.fs-bg .fs-bg-el {
    position: absolute;
    height: 100%;
    top: 0
}

.fs-bg .fs-bg-el {
    width: 100%;
    left: 0;
    z-index: 2
}

.fs-bg .fs-bg-el.fs-bg-grey {
    background: #f7f7f7
}

.fs-bg .fs-bg-el.fs-bg-blue {
    background: #001846
}

.fs-bg .fs-bg-el.has-overlay:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 2
}

.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-full .fs-bg,
.page-template-template-landing .hero-section.section-full .fs-bg {
    clip-path: inset(50% 50% round 2px);
    transition: clip-path 1.2s cubic-bezier(.7, .01, .3, .99)
}

.home .hero-section.section-full .fs-bg .fs-bg-el img,
.home .hero-section.section-full .fs-bg .fs-bg-el video,
.page-template-template-landing .hero-section.section-full .fs-bg .fs-bg-el img,
.page-template-template-landing .hero-section.section-full .fs-bg .fs-bg-el video {
    transition: all 1.2s cubic-bezier(.7, .01, .3, .99);
    transform: scale(.7)
}

.home .hero-section.section-full .fs-bg .fs-bg-el.has-overlay:after,
.page-template-template-landing .hero-section.section-full .fs-bg .fs-bg-el.has-overlay:after {
    opacity: 0;
    transition: all 1.2s cubic-bezier(.7, .01, .3, .99)
}

.home.has-landed .hero-section.section-full .fs-bg,
.page-template-template-landing.has-landed .hero-section.section-full .fs-bg {
    clip-path: inset(32% 35% round .6rem)
}

.home.has-landed .hero-section.section-full .fs-bg .fs-bg-el img,
.home.has-landed .hero-section.section-full .fs-bg .fs-bg-el video,
.page-template-template-landing.has-landed .hero-section.section-full .fs-bg .fs-bg-el img,
.page-template-template-landing.has-landed .hero-section.section-full .fs-bg .fs-bg-el video {
    transform: scale(.9)
}

.home.has-loaded .hero-section.section-full .fs-bg,
.page-template-template-landing.has-loaded .hero-section.section-full .fs-bg {
    clip-path: inset(0) !important;
    transition-duration: 1.4s
}

.home.has-loaded .hero-section.section-full .fs-bg .fs-bg-el img,
.home.has-loaded .hero-section.section-full .fs-bg .fs-bg-el video,
.page-template-template-landing.has-loaded .hero-section.section-full .fs-bg .fs-bg-el img,
.page-template-template-landing.has-loaded .hero-section.section-full .fs-bg .fs-bg-el video {
    transition-duration: 1.4s;
    transform: scale(1)
}

.home.has-loaded .hero-section.section-full .fs-bg .fs-bg-el.has-overlay:after,
.page-template-template-landing.has-loaded .hero-section.section-full .fs-bg .fs-bg-el.has-overlay:after {
    opacity: 1;
    transition-duration: 1.4s
}

.fs-bg .intro-logo {
    position: absolute;
    width: 8rem;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%) scale(.6);
    display: block;
    z-index: 3;
    color: #fff;
    opacity: 0;
    transition: all 1.2s cubic-bezier(.7, .01, .3, .99)
}

.home.has-landed .hero-section.section-full .fs-bg .intro-logo,
.page-template-template-landing.has-landed .hero-section.section-full .fs-bg .intro-logo {
    opacity: 1;
    transform: translateY(-50%) translateX(-50%) scale(1)
}

.home.has-loaded .hero-section.section-full .fs-bg .intro-logo,
.page-template-template-landing.has-loaded .hero-section.section-full .fs-bg .intro-logo {
    opacity: 0;
    transform: translateY(-50%) translateX(-50%) scale(1.2);
    transition-duration: 1.4s
}

@media only screen and (max-width:768px) {

    .home.has-landed .hero-section.section-full .fs-bg,
    .page-template-template-landing.has-landed .hero-section.section-full .fs-bg {
        clip-path: inset(30% 20% round .6rem)
    }

    .section {
        margin: 6.4rem 0
    }

    .section:has(>.fs-bg) {
        padding: 6.4rem 0
    }

    .section.hero-section .section-inner {
        padding-top: 11.2rem;
        padding-bottom: 4.8rem
    }

    .section.hero-section .back-to-page {
        padding-top: 8.6rem
    }

    .section.hero-section .back-to-page+.section-inner {
        padding-top: 3.2rem
    }

    .section.hero-section.has-filter .section-inner {
        padding-bottom: 3.2rem
    }

    .section.hero-section.has-filter .section-inner .page-title-filter {
        margin-top: 2rem
    }

    .section.hero-section:not(.has-border):not(.has-background-image):not(.has-below-image)+section {
        margin-top: calc(-6.4rem - 1px)
    }

    .section.hero-section .pagetitle br {
        display: none
    }

    .section.hero-section .page-title-image {
        padding-top: 133%
    }

    .section.hero-section .page-title .intro {
        margin-top: 1.6rem
    }

    .section.section-full {
        align-items: end
    }

    #page-header+.section.section-full {
        margin: 0
    }

    .section.section-full .section-inner {
        padding: 0
    }

    .section.has-border:not(.hero-section) {
        padding-bottom: 6.4rem
    }

    .section[class*=has-background] {
        padding: 6.4rem 0
    }

    .section[class*=has-background]+[class*=has-background] {
        margin-top: calc(-6.4rem - 1px)
    }

    .text-section.has-background-image:has(.col-6.boxed) {
        padding-top: 16rem
    }
}

#page-header {
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    padding: 2.2rem 0
}

body.admin-bar #page-header {
    top: 32px
}

#page-header .header-inner {
    display: flex;
    position: relative;
    justify-content: space-between;
    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
}

#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 {
    width: 250px;
    z-index: 2;
    position: relative
}

#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 {
    width: 250px;
    justify-content: right;
    position: static
}

#page-header .header-sticky-content {
    position: relative;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    height: 0;
    transform: translateY(.4rem);
    transition: all .75s cubic-bezier(.2, .75, .23, 1);
    margin-top: 0;
    margin-bottom: -.4rem
}

#page-header .header-sticky-content .fs-filter {
    padding-bottom: 1.6rem
}

#page-header .header-logo {
    height: 4.4rem;
    width: auto
}

#page-header .header-logo a {
    color: #000;
    transition: color .35s ease
}

#page-header .header-logo svg {
    height: 100%
}

#page-header:before {
    content: "";
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .75s cubic-bezier(.2, .75, .23, 1) .15s
}

body:not(.has-scrolled):not(.menu-is-open) #page-header.header-light .header-logo a,
body:not(.has-scrolled):not(.menu-is-open) #page-header.header-light .header-toggle a,
body:not(.has-scrolled):not(.menu-is-open) #page-header.header-light nav>ul>li>a {
    color: #fff
}

body:not(.has-scrolled):not(.menu-is-open) #page-header.header-light .header-toggle a:after,
body:not(.has-scrolled):not(.menu-is-open) #page-header.header-light nav>ul>li>a:after {
    background: #fff
}

body:not(.has-scrolled):not(.menu-is-open) #page-header.header-light:before {
    height: 0
}

body:not(.has-scrolled):not(.menu-is-open) #page-header.header-light .btn-normal {
    background: #fff;
    color: #000
}

body #page-header {
    transition: opacity .9s cubic-bezier(.2, .75, .23, 1), transform .9s cubic-bezier(.2, .75, .23, 1);
    opacity: 0;
    transform: translateY(-5px)
}

body.has-displayed #page-header {
    opacity: 1;
    transform: none
}

body.has-scrolled:not(.menu-is-open) #page-header:before {
    height: 100%;
    transition-delay: 0s;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, .05)
}

body.has-scrolled:not(.menu-is-open) #page-header .header-sticky-content {
    margin-top: 2.4rem;
    height: 46px;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: .15s;
    transition-duration: .75s
}

.header-nav nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex
}

.header-nav nav ul li {
    margin: 0 1.6rem;
    padding: 0;
    width: auto;
    line-height: 0
}

.header-nav nav ul li>a {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: clamp(16px, 1vw, 19px);
    color: #000;
    z-index: 2;
    position: relative;
    transition: color .35s ease;
    line-height: 1.2;
    display: flex;
    align-items: center
}

.header-nav nav ul li>a .icon {
    width: 16px;
    display: inline-block;
    margin-right: .8rem;
    opacity: .3
}

.header-nav nav ul li>a:after {
    content: "";
    position: absolute;
    background: #000;
    bottom: -4px;
    left: 0;
    height: 1px;
    width: 0;
    transition: color .35s ease, width .35s cubic-bezier(.2, .75, .23, 1)
}

.header-nav nav ul li>a:has(.icon):after {
    left: calc(16px + .8rem)
}

.header-nav nav ul li.menu-item-has-children>a:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 6.4rem;
    width: 100%;
    opacity: 0;
    visibility: hidden
}

.header-nav nav ul li:hover>a:before {
    opacity: 1;
    visibility: visible
}

.header-nav nav ul li.current-menu-item>a:after,
.header-nav nav ul li:hover>a:after {
    width: 100%
}

.header-nav nav ul li:hover>a:has(.icon):after {
    width: calc(100% - 16px - .8rem)
}

.header-nav nav ul li:first-child {
    margin-left: 0
}

.header-nav nav ul li:last-child {
    margin-right: 0
}

.header-nav nav.action-nav ul {
    justify-content: flex-end
}

.text-light .header-nav nav ul li a {
    color: #fff
}

.header-toggle {
    display: none
}

.header-toggle .open-mobile-menu {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 14px;
    color: #000;
    transition: color .35s ease;
    display: inline-block;
    overflow: hidden;
    position: relative;
    vertical-align: top;
    width: 48px;
    text-align: right
}

.header-toggle .open-mobile-menu>span {
    display: inline-block;
    transition: transform .75s cubic-bezier(.2, .75, .23, 1)
}

.header-toggle .open-mobile-menu>span.text-to-close {
    position: absolute;
    top: 100%;
    right: 0;
    transform: scale3d(.95, .7, 1)
}

body.menu-is-open .header-toggle .open-mobile-menu>span {
    transform: scale3d(.95, .7, 1) translateY(-100%)
}

body.menu-is-open .header-toggle .open-mobile-menu>span.text-to-close {
    transform: scaleX(1) translateY(-100%)
}

.language-menu-item {
    position: relative;
    text-transform: uppercase
}

.language-menu-item .open-language-switcher:after {
    display: none
}

.language-menu-item .language-switcher {
    position: absolute;
    top: calc(100% + .4rem);
    right: -1.2rem;
    background: #fff;
    display: block;
    padding: 1rem 1.2rem;
    border-radius: 3px;
    opacity: 0;
    transition: .4s ease .1s;
    visibility: hidden;
    box-shadow: 0 8px 16px rgba(149, 157, 165, .2);
    border: 1px solid rgba(0, 0, 0, .1)
}

.language-menu-item .language-switcher li {
    text-align: center;
    margin: .6rem 0 0
}

.language-menu-item .language-switcher li:first-child {
    margin-top: 0
}

.language-menu-item .language-switcher li a {
    display: inline-block;
    font-size: .9em
}

.language-menu-item .language-switcher li a:after {
    bottom: -1px
}

.language-menu-item:hover .language-switcher {
    visibility: visible;
    opacity: 1
}

@media only screen and (min-width:1241px) {
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap {
        position: absolute;
        top: 0;
        opacity: 0;
        visibility: hidden;
        transition: all .01s ease .8s;
        white-space: nowrap;
        pointer-events: none;
        z-index: 0;
        width: 100%;
        margin: 0 auto;
        left: 50%;
        transform: translateX(-50%);
        padding-top: 11.2rem;
        padding-bottom: 7.6rem
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap:before {
        content: "";
        background: #fff;
        position: absolute;
        top: -2.4rem;
        left: 50%;
        transform: translateX(-50%);
        width: 101vw;
        height: 0;
        transition: all .75s cubic-bezier(.2, .75, .23, 1) .15s;
        border-top: 1px solid transparent
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap:after {
        content: "";
        background: rgba(0, 0, 0, .1);
        position: absolute;
        top: 6.4rem;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: 1px;
        transition: opacity .15s ease;
        z-index: 1;
        opacity: 0
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul {
        flex-direction: column;
        width: 33.33%;
        position: relative;
        align-items: flex-start
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li {
        margin: 0;
        transition: opacity .3s ease
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a {
        font-size: clamp(28px, 2vw, 36px);
        padding: .8rem 0;
        position: inherit;
        width: auto;
        color: #000
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a .item-text {
        display: inline-block;
        overflow: hidden
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a .item-text>span {
        display: block;
        transform: scale3d(.95, .7, 1) translateY(110%);
        transition: all .6s cubic-bezier(.2, .75, .23, 1);
        opacity: 0
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a:after {
        display: none
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a .item-media-tooltip {
        opacity: 0;
        transition: opacity .4s ease .2s;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: calc(200% + 9.6rem);
        overflow: hidden;
        border-radius: .6rem;
        pointer-events: none
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a .item-media-tooltip img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-title {
        margin-bottom: 2.4rem
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-title a {
        font-size: clamp(16px, 1vw, 19px) !important;
        pointer-events: none !important;
        padding: 0 !important;
        color: rgba(0, 0, 0, .5)
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-button {
        margin-top: 2.4rem
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-button>a {
        display: inline-block;
        font-size: clamp(16px, 1vw, 19px) !important;
        line-height: 1.4;
        position: relative;
        padding: 0 !important
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-button>a:before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: #000;
        display: block !important;
        opacity: 0;
        transform: translateY(3px);
        transition: all .35s ease
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.is-faded:not(.item-title):not(.item-button) {
        opacity: .16
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap {
        position: absolute;
        top: 0;
        left: 100%;
        width: 100%;
        min-height: 100%;
        transition: all .4s ease;
        opacity: 0;
        visibility: hidden
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul {
        width: 100%
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul:first-child {
        margin-top: 4.4rem
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li a {
        font-size: clamp(20px, 1.3vw, 26px);
        padding: 1rem 0
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li .item-text {
        display: inline-block;
        overflow: hidden
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li .item-text>span {
        display: block;
        transform: scale3d(.95, .7, 1) translateY(110%);
        transition: all .6s cubic-bezier(.2, .75, .23, 1) .3s;
        opacity: 0
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li.item-title {
        margin-bottom: 2.6rem
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li:hover {
        width: 100%
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li:hover>a>.item-media-tooltip {
        opacity: 1;
        transition-delay: 0s
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li:hover>.sub-menu-wrap {
        opacity: 1;
        visibility: visible
    }

    .header-nav ul>li.menu-item-has-children:hover>.sub-menu-wrap {
        pointer-events: all
    }

    .header-nav ul>li.menu-item-has-children:hover>.sub-menu-wrap:before {
        height: calc(100% + 2.4rem);
        transition-delay: .05s
    }

    .header-nav ul>li.menu-item-has-children:hover>.sub-menu-wrap:after {
        opacity: 1;
        transition-delay: .15s;
        transition-duration: .4s
    }

    body.has-scrolled .header-nav ul>li.menu-item-has-children>.sub-menu-wrap:before {
        top: 6.4rem
    }

    body.has-scrolled .header-nav ul>li.menu-item-has-children:hover>.sub-menu-wrap:before {
        height: calc(100% - 6.4rem)
    }

    .header-nav ul>li.menu-item-has-children .back-to-sub-menu {
        display: none
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover {
        pointer-events: all;
        opacity: 1;
        visibility: visible;
        transition-delay: 0s;
        transition-duration: .05s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li>a .item-text>span,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li>a .item-text>span {
        transform: none;
        opacity: 1;
        transition-delay: .1s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li:nth-child(2)>a .item-text>span,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li:nth-child(2)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li:nth-child(2)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li:nth-child(2)>a .item-text>span {
        transition-delay: .13s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li:nth-child(3)>a .item-text>span,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li:nth-child(3)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li:nth-child(3)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li:nth-child(3)>a .item-text>span {
        transition-delay: .16s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li:nth-child(4)>a .item-text>span,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li:nth-child(4)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li:nth-child(4)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li:nth-child(4)>a .item-text>span {
        transition-delay: .19s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li:nth-child(5)>a .item-text>span,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li:nth-child(5)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li:nth-child(5)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li:nth-child(5)>a .item-text>span {
        transition-delay: .22s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li:nth-child(6)>a .item-text>span,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li:nth-child(6)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li:nth-child(6)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li:nth-child(6)>a .item-text>span {
        transition-delay: .25s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li:nth-child(7)>a .item-text>span,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li:nth-child(7)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li:nth-child(7)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li:nth-child(7)>a .item-text>span {
        transition-delay: .28s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li:nth-child(8)>a .item-text>span,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li:nth-child(8)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li:nth-child(8)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li:nth-child(8)>a .item-text>span {
        transition-delay: .31s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li:nth-child(9)>a .item-text>span,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li:nth-child(9)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li:nth-child(9)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li:nth-child(9)>a .item-text>span {
        transition-delay: .33s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li.item-button>a:before,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li.item-button>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li.item-button>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li.item-button>a:before {
        opacity: 1;
        transform: none
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li.item-button:nth-child(2)>a:before,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li.item-button:nth-child(2)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li.item-button:nth-child(2)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li.item-button:nth-child(2)>a:before {
        transition-delay: .13s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li.item-button:nth-child(3)>a:before,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li.item-button:nth-child(3)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li.item-button:nth-child(3)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li.item-button:nth-child(3)>a:before {
        transition-delay: .16s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li.item-button:nth-child(4)>a:before,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li.item-button:nth-child(4)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li.item-button:nth-child(4)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li.item-button:nth-child(4)>a:before {
        transition-delay: .19s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li.item-button:nth-child(5)>a:before,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li.item-button:nth-child(5)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li.item-button:nth-child(5)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li.item-button:nth-child(5)>a:before {
        transition-delay: .22s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li.item-button:nth-child(6)>a:before,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li.item-button:nth-child(6)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li.item-button:nth-child(6)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li.item-button:nth-child(6)>a:before {
        transition-delay: .25s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li.item-button:nth-child(7)>a:before,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li.item-button:nth-child(7)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li.item-button:nth-child(7)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li.item-button:nth-child(7)>a:before {
        transition-delay: .28s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li.item-button:nth-child(8)>a:before,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li.item-button:nth-child(8)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li.item-button:nth-child(8)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li.item-button:nth-child(8)>a:before {
        transition-delay: .31s
    }

    .header-nav>nav>ul>li:hover>.sub-menu-wrap ul>li.item-button:nth-child(9)>a:before,
    .header-nav>nav>ul>li>.sub-menu-wrap:hover ul>li.item-button:nth-child(9)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item:hover>.sub-menu-wrap ul>li.item-button:nth-child(9)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.menu-item>.sub-menu-wrap:hover ul>li.item-button:nth-child(9)>a:before {
        transition-delay: .33s
    }
}

@media only screen and (max-width:1240px) {
    #page-header .header-logo {
        height: 3rem;
        width: auto
    }

    #page-header .header-inner .header-inner-center {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        padding: 0 2.4rem;
        height: 0;
        opacity: 0;
        transition: opacity .6s ease, height .01s ease .6s;
        overflow: hidden;
        align-items: start
    }

    #page-header .header-inner .header-actions .header-nav .search-menu-item {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        background: #fff;
        background: green;
        width: 100%;
        padding: 0 2.4rem;
        height: auto;
        margin-top: 4rem
    }

    #page-header .header-inner .header-actions .header-nav .search-menu-item .sub-menu-wrap {
        display: block;
        height: auto;
        padding: 0
    }

    #page-header .header-inner .header-actions .header-nav .search-menu-item .sub-menu-wrap .open-search {
        opacity: 0
    }

    #page-header .header-inner .header-actions .header-nav .search-menu-item .sub-menu-wrap form.searchform div input[type=text] {
        font-size: 14px;
        padding: 0 0 .6rem;
        line-height: 20px !important
    }

    #page-header .header-inner .header-actions .header-nav .search-menu-item .sub-menu-wrap form.searchform div button[type=submit] .fs-icon {
        width: 16px
    }

    #page-header .header-inner .header-actions .header-nav .search-menu-item .sub-menu-wrap form.searchform div .search-title {
        display: none
    }

    #page-header .header-inner .language-menu-item {
        position: absolute;
        top: calc(100% + var(--vh-100) - 11.8rem - 20px);
        left: -2.4rem;
        width: calc(100% + 4.8rem);
        padding: 3.2rem 2.4rem;
        border-top: 1px solid rgba(0, 0, 0, .1);
        background: #fff;
        opacity: 0;
        visibility: hidden;
        transition: all .4s ease;
        display: flex;
        align-items: center
    }

    #page-header .header-inner .language-menu-item .current-lang {
        display: none
    }

    #page-header .header-inner .language-menu-item .language-switcher {
        position: relative;
        top: auto;
        right: auto;
        background: none;
        display: flex;
        padding: 0;
        border-radius: 0;
        opacity: 1;
        visibility: visible;
        box-shadow: none;
        border: none
    }

    #page-header .header-inner .language-menu-item .language-switcher li {
        margin: 0 0 0 .8rem
    }

    #page-header .header-inner .language-menu-item .language-switcher li a {
        font-size: clamp(16px, 1vw, 19px)
    }

    #page-header .header-inner .header-toggle {
        display: block
    }

    #page-header .header-sticky-content {
        margin-bottom: -1.2rem
    }

    .header-nav {
        width: 100%
    }

    .header-nav nav.primary-nav {
        margin-top: 6.4rem;
        height: calc(var(--vh-100) - 22.8rem - 20px);
        overflow-y: auto
    }

    .header-nav nav.primary-nav ul {
        flex-direction: column
    }

    .header-nav nav.primary-nav ul li {
        margin: 0;
        border-top: 1px solid transparent;
        transition: border .6s ease
    }

    .header-nav nav.primary-nav ul li>a {
        font-size: clamp(26px, 3vw, 30px);
        padding: 2rem 0
    }

    .header-nav nav.primary-nav ul li>a .item-text {
        display: inline-block;
        overflow: hidden
    }

    .header-nav nav.primary-nav ul li>a .item-text>span {
        display: block;
        transform: scale3d(.95, .7, 1) translateY(110%);
        transition: all .6s cubic-bezier(.2, .75, .23, 1) .1s;
        opacity: 0
    }

    .header-nav nav.primary-nav ul li>a:after {
        content: "";
        position: absolute;
        background: url(https://wider-sa.ch/wp-content/themes/wider/assets/img/arrow-simple.svg) 50% no-repeat !important;
        bottom: 50%;
        left: auto;
        right: 0;
        height: 13px;
        width: 13px !important;
        transform: translateY(100%);
        opacity: 0;
        transition: all .6s cubic-bezier(.2, .75, .23, 1) .1s
    }

    .header-nav nav.primary-nav ul li:first-child {
        border: none
    }

    .header-nav nav.primary-nav ul li:first-child a {
        padding-top: 0
    }

    .header-nav nav.primary-nav ul li.is-faded {
        opacity: 1 !important
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap {
        height: calc(var(--vh-100) - 11.8rem - 20px);
        padding-top: 13.4rem;
        padding-bottom: 4rem;
        opacity: 1;
        transition: all .4s ease, height .01s ease, padding .01s ease
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap {
        background: #fff;
        position: absolute;
        top: 0;
        opacity: 0;
        height: 0;
        overflow: hidden;
        overflow-y: auto;
        visibility: visible;
        transition: all .4s ease .1s, height .01s ease .5s, padding .01s ease .5s;
        z-index: 10;
        width: 100%;
        left: 0;
        transform: none
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap:after,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap:after,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap:before {
        display: none
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul {
        width: 100%
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li {
        margin: 0;
        display: block;
        width: 100%
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li>a,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a {
        font-size: 21px;
        padding: 2rem 0;
        position: relative
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li>a:after,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a:after {
        display: block
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li>a .item-text,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a .item-text {
        display: inline-block;
        overflow: hidden
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a .item-text>span {
        display: block;
        transform: scale3d(.95, .7, 1) translateY(110%);
        transition: all .6s cubic-bezier(.2, .75, .23, 1);
        opacity: 0
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li>a .item-media-tooltip,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>a .item-media-tooltip {
        display: none !important
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-title,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li.item-title {
        margin-bottom: 2rem
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-title a,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li.item-title a {
        font-size: 14px !important;
        color: rgba(0, 0, 0, .5)
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-title a:after,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li.item-title a:after {
        display: none
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-title+li,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li.item-title+li {
        border: none
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-button,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li.item-button {
        border: none;
        margin-top: 4.8rem
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-button a,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li.item-button a {
        padding: 0;
        font-size: clamp(16px, 1vw, 19px) !important;
        display: inline-block
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-button a:after,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li.item-button a:after {
        display: none !important
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.item-button a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li.item-button a:before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: #000;
        display: block !important;
        opacity: 0;
        transform: translateY(3px);
        transition: all .35s ease
    }

    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li>.sub-menu-wrap ul li>.sub-menu-wrap {
        top: 0 !important;
        padding-top: 0;
        padding: 0 2.4rem !important
    }

    .header-nav ul>li.menu-item-has-children .back-to-sub-menu {
        display: block;
        position: absolute;
        top: 0;
        left: 2.4rem;
        top: 4rem
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li {
        border-color: rgba(0, 0, 0, .1);
        transition-delay: .3s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li>a .item-text>span {
        transform: none;
        opacity: 1;
        transition-delay: .3s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li>a:after,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li>a:after {
        transform: translateY(50%);
        opacity: 1;
        transition-delay: .1s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(2)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(2)>a .item-text>span {
        transition-delay: .33s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(3)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(3)>a .item-text>span {
        transition-delay: .36s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(4)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(4)>a .item-text>span {
        transition-delay: .39s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(5)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(5)>a .item-text>span {
        transition-delay: .42s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(6)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(6)>a .item-text>span {
        transition-delay: .45s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(7)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(7)>a .item-text>span {
        transition-delay: .48s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(8)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(8)>a .item-text>span {
        transition-delay: .51s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(9)>a .item-text>span,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li:nth-child(9)>a .item-text>span {
        transition-delay: .53s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button>a:before {
        opacity: 1;
        transform: none
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(2)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(2)>a:before {
        transition-delay: .33s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(3)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(3)>a:before {
        transition-delay: .36s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(4)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(4)>a:before {
        transition-delay: .39s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(5)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(5)>a:before {
        transition-delay: .42s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(6)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(6)>a:before {
        transition-delay: .45s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(7)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(7)>a:before {
        transition-delay: .48s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(8)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(8)>a:before {
        transition-delay: .51s
    }

    .header-nav ul>li.menu-item-has-children.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(9)>a:before,
    .header-nav ul>li.menu-item-has-children>.sub-menu-wrap ul li.sub-menu-is-visible>.sub-menu-wrap ul>li.item-button:nth-child(9)>a:before {
        transition-delay: .53s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center {
        height: calc(var(--vh-100) - 11.8rem - 20px);
        opacity: 1;
        transition: opacity .01s ease, height .01s ease
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li {
        border-color: rgba(0, 0, 0, .1);
        transition-delay: .3s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li>a .item-text>span {
        transform: none;
        opacity: 1;
        transition-delay: .1s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li>a:after {
        transform: translateY(50%);
        opacity: 1;
        transition-delay: .1s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(2)>a .item-text>span {
        transition-delay: .13s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(3)>a .item-text>span {
        transition-delay: .16s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(4)>a .item-text>span {
        transition-delay: .19s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(5)>a .item-text>span {
        transition-delay: .22s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(6)>a .item-text>span {
        transition-delay: .25s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(7)>a .item-text>span {
        transition-delay: .28s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(8)>a .item-text>span {
        transition-delay: .31s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(9)>a .item-text>span {
        transition-delay: .33s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(2)>a:after {
        transition-delay: .13s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(3)>a:after {
        transition-delay: .16s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(4)>a:after {
        transition-delay: .19s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(5)>a:after {
        transition-delay: .22s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(6)>a:after {
        transition-delay: .25s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(7)>a:after {
        transition-delay: .28s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(8)>a:after {
        transition-delay: .31s
    }

    body.menu-is-open #page-header .header-inner .header-inner-center .header-nav nav.primary-nav>ul>li:nth-child(9)>a:after {
        transition-delay: .33s
    }

    body.menu-is-open #page-header .header-inner .header-inner-right .header-actions .header-nav .language-menu-item {
        opacity: 1;
        visibility: visible;
        transition-delay: .3s
    }

    body.menu-is-open #page-header:before {
        height: var(--vh-100);
        transition-delay: 0s
    }
}

#page-footer {
    background: #001846
}

#page-footer:not(.text-light) {
    background: #f7f7f7
}

#page-footer:not(.text-light) .footer-inner {
    border-color: rgba(0, 0, 0, .1) !important
}

#page-footer:not(.text-light) .footer-nav nav ul li a {
    color: #000
}

#page-footer .footer-inner {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
    border-bottom: 1px solid #3a527e
}

#page-footer .footer-inner .fs-widget {
    max-width: 320px;
    margin-top: 4.8rem
}

#page-footer .footer-inner .fs-widget:first-child {
    margin-top: 0
}

#page-footer .footer-inner .fs-widget p+a {
    margin-top: 2.4rem
}

#page-footer .footer-inner .widget-title {
    margin-bottom: 3.2rem
}

#page-footer .footer-bottom {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem
}

#page-footer .footer-bottom .footer-logo {
    width: 4rem;
    color: #fff;
    display: inline-block
}

#page-footer .footer-bottom .grid-row {
    align-items: center
}

#page-footer .copyright {
    font-size: clamp(13px, .8vw, 14px)
}

#page-footer .footer-nav nav ul {
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    max-width: 100%;
    flex-wrap: wrap
}

#page-footer .footer-nav nav ul li {
    margin: .8rem;
    padding: 0;
    width: auto;
    line-height: 0;
    white-space: nowrap
}

#page-footer .footer-nav nav ul li:last-child {
    margin-right: 0
}

#page-footer .footer-nav nav ul li a {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: clamp(13px, .8vw, 14px);
    color: #fff;
    z-index: 2;
    position: relative;
    line-height: 1
}

@media only screen and (max-width:768px) {
    #page-footer .footer-bottom {
        padding-bottom: 2.4rem
    }

    #page-footer .footer-bottom .grid-row [class*=col-] {
        align-items: center;
        text-align: center
    }

    #page-footer .footer-bottom {
        font-size: 12px
    }

    #page-footer .footer-nav nav ul {
        justify-content: center
    }

    #page-footer .footer-nav nav ul li a {
        font-size: 12px
    }
}

:root {
    --header-height: 8rem
}

#page-body {
    opacity: 0
}

#page-body:after {
    content: "";
    background: #000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .35s ease;
    z-index: 9;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

body.menu-is-open #page-body:after {
    opacity: .5;
    visibility: visible
}

body.has-landed #page-body {
    opacity: 1
}

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-8-7 .fs-media-item {
    padding-top: 87.5%
}

[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-5.del-spacing .fs-media-item {
    padding-top: calc(62% - 1.6rem)
}

[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-16-9 .fs-media-item {
    padding-top: 56.25%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-16-9.del-spacing .fs-media-item {
    padding-top: calc(56.25% - 1.6rem)
}

[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-26-9 .fs-media-item {
    padding-top: 34.6%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-4-5 .fs-media-item {
    padding-top: 125%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-8-9 .fs-media-item {
    padding-top: 112.5%
}

[class*=fs-media-ratio-]:not(.fs-media-ratio-auto).fs-media-ratio-1-2 .fs-media-item {
    padding-top: 150%
}

[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
}

.rounded-corners {
    border-radius: .6rem;
    overflow: hidden
}

.media-hover {
    overflow: hidden
}

.media-hover,
.media-hover .media-container {
    position: relative
}

.media-hover .media-container .fs-media {
    z-index: 1
}

.media-hover .media-container .fs-media .fs-media-item img {
    transition: transform 1.3s cubic-bezier(.2, .75, .23, 1)
}

.media-hover .media-container .media-box {
    position: absolute;
    top: 2.4rem;
    left: 2.4rem;
    width: auto;
    height: auto;
    z-index: 3;
    padding: 2.4rem;
    border-radius: .6rem;
    overflow: hidden;
    opacity: 0;
    transition: all .6s ease
}

.media-hover .media-container .media-box:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 0
}

.media-hover .media-container .media-box>* {
    position: relative;
    z-index: 1
}

.media-hover .media-container .media-box ul {
    padding: 0;
    margin: -.4rem 0;
    list-style: none
}

.media-hover .media-container .media-box ul li {
    font-weight: 500;
    font-size: clamp(16px, 1vw, 19px)
}

.media-hover .media-container .media-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: calc(100% - 4.8rem);
    z-index: 3;
    text-align: center
}

.media-hover .media-container .media-caption .caption-meta {
    margin-top: 1.6rem
}

.media-hover .media-container .media-caption .caption-meta .fs-tag:after {
    right: -2px;
    opacity: 0;
    transform: translateY(10px);
    transition: all .7s cubic-bezier(.2, .75, .23, 1)
}

.media-hover .media-container .media-arrow {
    position: absolute;
    bottom: 3.2rem;
    right: 3.2rem;
    z-index: 3
}

.media-hover .media-container:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .4);
    z-index: 2;
    opacity: 0;
    transition: opacity .75s ease
}

.media-hover .media-meta {
    margin-top: 1.6rem
}

.media-hover .media-meta .meta-subcats {
    margin-top: .8rem;
    font-size: clamp(16px, 1vw, 19px);
    color: rgba(0, 0, 0, .5);
    line-height: 1.3
}

.media-hover .media-meta .meta-subcats.do-anim {
    opacity: 0;
    transform: translateY(5px);
    transition: all 1.3s cubic-bezier(.2, .75, .23, 1)
}

body.has-displayed .media-hover .media-meta .meta-subcats.do-anim {
    transform: none;
    opacity: 1;
    transition-delay: .5s
}

.media-hover:hover .media-container .fs-media .fs-media-item img {
    transform: scale(1.03) translateY(1.4%)
}

.media-hover:hover .media-container:has(.media-caption):before {
    opacity: 1
}

.media-hover:hover .media-container .media-box {
    opacity: 1
}

.media-hover:hover .media-container .media-caption .caption-meta .fs-tag:after {
    opacity: 1;
    transform: translateY(-60%)
}

.grid-gallery .gallery-item {
    display: block
}

.grid-gallery .gallery-item.gallery-item-bordered {
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: .6rem
}

.grid-gallery.grid-gallery-small {
    width: 36rem;
    max-width: 100%
}

.text-light .grid-gallery .gallery-item.gallery-item-bordered {
    border-color: #3a527e
}

@media only screen and (max-width:768px) {
    [class*=fs-media-ratio-]:not(.fs-media-ratio-auto).sm-ratio-1-1 .fs-media-item {
        padding-top: 100% !important
    }

    [class*=fs-media-ratio-]:not(.fs-media-ratio-auto).sm-ratio-4-3 .fs-media-item {
        padding-top: 75% !important
    }

    [class*=fs-media-ratio-]:not(.fs-media-ratio-auto).sm-ratio-10-7 .fs-media-item {
        padding-top: 71% !important
    }

    [class*=fs-media-ratio-]:not(.fs-media-ratio-auto).sm-ratio-8-9 .fs-media-item {
        padding-top: 112.5% !important
    }

    [class*=fs-media-ratio-]:not(.fs-media-ratio-auto).sm-ratio-1-2 .fs-media-item {
        padding-top: 150% !important
    }

    .media-hover .media-arrow {
        display: none
    }
}

.fs-spacer-small {
    height: 2.4rem
}

.fs-spacer-medium {
    height: 3.2rem
}

.fs-spacer-large {
    height: 6.4rem
}

[class*=fs-spacer-]+* {
    margin-top: 0 !important
}

[class*=fs-spacer-] {
    margin: 0 !important;
    width: 100%
}

@media only screen and (max-width:768px) {
    .fs-spacer-small {
        height: 1.6rem
    }

    .fs-spacer-medium {
        height: 2.4rem
    }

    .fs-spacer-large {
        height: 4.8rem
    }

    [class*=fs-spacer-].sm-fs-spacer-hide {
        display: none
    }

    .sm-fs-spacer-medium {
        height: 2.4rem
    }
}

.fs-tab-group {
    transition: height .6s cubic-bezier(.7, .01, .3, .99);
    position: relative
}

.fs-tab-group .fs-tab-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none
}

.fs-tab-group .fs-tab-item [class*=col-] {
    transform: translateY(32px);
    transition: all .9s cubic-bezier(.2, .75, .23, 1);
    opacity: 0
}

.fs-tab-group .fs-tab-item.is-active {
    pointer-events: all
}

.fs-tab-group .fs-tab-item.is-active [class*=col-] {
    transform: none;
    opacity: 1;
    transition-delay: .5s
}

.fs-tab-group .fs-tab-item.is-active [class*=col-]:nth-child(2) {
    transition-delay: .6s
}

#map-container {
    height: 600px;
    overflow: hidden;
    border-radius: .6rem
}

.fs-tag {
    font-size: clamp(16px, 1vw, 19px);
    line-height: 1.3;
    font-weight: 500;
    color: rgba(0, 0, 0, .5);
    display: inline-block;
    position: relative
}

.fs-tag:not(:last-child) {
    margin-right: 1.2rem;
    padding-right: calc(1.2rem + 5px)
}

.fs-tag:not(:last-child):after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 5px;
    height: 5px;
    transform: translateY(-50%);
    border-radius: 5px;
    background: rgba(0, 0, 0, .1)
}

.text-light .fs-tag {
    color: #fff
}

.text-light .fs-tag:after {
    background: #fff
}

.fs-icon {
    width: 16px;
    display: inline-block;
    color: #000
}

.fs-icon>span,
.fs-icon svg {
    width: 100%;
    display: block;
    z-index: 1;
    position: relative
}

.fs-icon.fs-icon-background {
    padding: 16px;
    width: 48px;
    background: none;
    overflow: hidden;
    position: relative
}

.fs-icon.fs-icon-background:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 100%;
    background: #f7f7f7;
    border-radius: 50px;
    z-index: 0;
    transition: all .65s cubic-bezier(.2, .75, .23, 1) .1s
}

.fs-icon.fs-icon-background.fs-icon-anim:before {
    width: 0;
    height: 0
}

.fs-icon.fs-icon-background.fs-icon-anim>span,
.fs-icon.fs-icon-background.fs-icon-anim svg {
    opacity: 0;
    transform: scale3d(.95, .7, 1) translateX(-100%);
    transition: all .45s cubic-bezier(.2, .75, .23, 1)
}

a:hover .fs-icon.fs-icon-background.fs-icon-anim:before {
    width: 100%;
    height: 100%;
    transition-delay: 0s
}

a:hover .fs-icon.fs-icon-background.fs-icon-anim>span,
a:hover .fs-icon.fs-icon-background.fs-icon-anim svg {
    opacity: 1;
    transform: none;
    transition: all .65s cubic-bezier(.2, .75, .23, 1) .1s
}

.fs-icon.fs-icon-bordered {
    padding: 12px;
    width: 40px;
    border: 1px solid #000
}

.fs-icon.fs-icon-rotate-180 svg {
    transform: rotate(180deg)
}

.fs-icon+.fs-icon {
    margin-left: .8rem
}

.text-light .fs-icon {
    color: #fff
}

.text-light .fs-icon.fs-icon-background {
    color: #000
}

.text-light .fs-icon.fs-icon-background:before {
    background: #fff
}

blockquote {
    margin: 12.8rem 0 0
}

blockquote:first-child {
    margin-top: 0
}

blockquote cite {
    margin-top: 9.6rem;
    display: block;
    font-style: normal;
    font-weight: 500
}

blockquote cite:before {
    content: "";
    width: 5px;
    height: 5px;
    display: inline-block;
    transform: translateY(-50%);
    border-radius: 5px;
    background: #000;
    margin-right: .8rem
}

.quote-icon {
    width: 2rem;
    color: #000
}

.text-light .quote-icon {
    color: #fff
}

@media only screen and (max-width:768px) {
    blockquote {
        margin: 6.4rem 0 0;
        padding-top: 4.8rem
    }

    blockquote cite {
        margin-top: 2.4rem
    }
}

.box-item .box-item-top .box-number {
    font-weight: 500;
    color: rgba(0, 0, 0, .5);
    font-size: clamp(20px, 1.3vw, 26px)
}

.box-item .box-item-top .box-number+.box-title {
    margin-top: .8rem
}

.box-item .box-item-top .box-subtitle {
    margin-top: 2rem
}

.box-item .box-item-bottom {
    min-height: 16rem;
    margin-top: 4rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}

.box-item .box-item-bottom .box-text {
    margin-top: 1.6rem
}

.text-light .box-item .box-item-top .box-number {
    color: #c3cee7
}

@media only screen and (max-width:768px) {
    .box-item .box-item-top .box-number {
        font-size: 14px
    }

    .box-item .box-item-top .box-subtitle {
        margin-top: .8rem;
        line-height: 1.2
    }

    .box-item .box-item-bottom {
        min-height: auto;
        margin-top: 2.4rem
    }

    .box-item .box-item-bottom .box-subtitle,
    .box-item .box-item-bottom .box-text {
        font-size: 14px
    }

    .box-item .box-item-bottom .box-subtitle+.box-text {
        font-size: 10px
    }

    .spaced-medium>[class*=col-].box-item {
        padding-top: 1.6rem !important;
        padding-bottom: 1.6rem !important
    }
}

.word-lettering .word {
    overflow: hidden;
    display: inline-flex
}

.word-lettering .word>span {
    display: inline-block;
    transform: scale3d(.95, .7, 1) translateY(100%);
    transition: all .9s cubic-bezier(.2, .75, .23, 1);
    transition-delay: calc(var(--word-index)*20ms);
    opacity: 0
}

.word-lettering .word>span:after {
    content: " ";
    display: inline-block
}

.has-displayed .word-lettering.do-anim.is-animated .word>span,
.has-displayed .word-lettering:not(.do-anim) .word>span {
    transform: none;
    opacity: 1
}

.has-displayed .word-lettering.do-anim.is-animated .word>span {
    transition-delay: calc(var(--word-index)*20ms + .1s)
}

.fs-tab-item .word-lettering .word>span,
.media-hover .media-container .word-lettering .word>span {
    transform: scale3d(.95, .7, 1) translateY(100%) !important;
    opacity: 0 !important
}

.media-hover:hover .media-container .word-lettering .word>span {
    transform: none !important;
    opacity: 1 !important
}

.fs-tab-item .word-lettering .word>span {
    transform: scale3d(.95, .7, 1) translateY(100%);
    transition: all .9s cubic-bezier(.2, .75, .23, 1) .5s, opacity .6s ease;
    opacity: 0 !important
}

.fs-tab-item.is-active .word-lettering .word>span {
    transition: all .9s cubic-bezier(.2, .75, .23, 1);
    transition-delay: calc(var(--word-index)*20ms + .3s);
    transform: none !important;
    opacity: 1 !important
}

.char-lettering .char {
    overflow: hidden;
    display: inline-flex
}

.char-lettering .char>span {
    display: inline-block;
    transform: scale3d(.95, .7, 1) translateY(100%);
    transition: all .9s cubic-bezier(.2, .75, .23, 1);
    transition-delay: calc(var(--char-index)*50ms + .1s);
    opacity: 0
}

.char-lettering .char>span:after {
    content: " ";
    display: inline-block
}

.has-displayed .char-lettering.do-anim.is-animated .char>span,
.has-displayed .char-lettering:not(.do-anim) .char>span {
    transform: none;
    opacity: 1
}

.btn {
    display: inline-flex;
    align-items: center;
    font-size: clamp(16px, 1vw, 19px);
    font-weight: 500;
    line-height: 1.5;
    color: #000;
    cursor: pointer;
    border-bottom: 1px solid #000
}

.btn.btn-normal {
    padding: 1.4rem 3.2rem;
    border: none;
    background: #001846;
    color: #fff;
    border-radius: .6rem;
    transition: color .45s ease, background .45s ease
}

.btn.btn-normal.btn-grey {
    background: #f7f7f7;
    color: #000
}

.btn.btn-normal.btn-bordered {
    background: transparent;
    border: 1px solid rgba(0, 0, 0, .1);
    color: #000;
    border-radius: 60px
}

.btn.btn-simple .btn-icon {
    width: 12px
}

.btn.btn-withicon {
    border: none
}

.btn .btn-icon {
    position: relative;
    vertical-align: top
}

.btn>span+span:not(.btn-loader) {
    margin-left: 1.2rem
}

.btn .btn-text {
    display: inline-block;
    overflow: hidden;
    position: relative;
    vertical-align: top
}

.btn .btn-text span {
    display: inline-block;
    transition: transform .75s cubic-bezier(.2, .75, .23, 1)
}

.btn .btn-text span:not(:first-child) {
    position: absolute;
    top: 110%;
    left: 0;
    transform: scale3d(.95, .7, 1)
}

.btn:hover .btn-icon span {
    animation: btn_icon_anim .65s cubic-bezier(.2, .75, .23, 1)
}

.btn:hover .btn-icon.anim-right span {
    animation: btn_icon_anim_right .65s cubic-bezier(.2, .75, .23, 1)
}

.btn:hover .btn-text span {
    transform: scale3d(.95, .7, 1) translateY(-110%)
}

.btn:hover .btn-text span:not(:first-child) {
    transform: scaleX(1) translateY(-110%)
}

.editor-content .btn {
    margin-top: 2.8rem
}

.editor-content .btn:first-child {
    margin-top: 0
}

.text-light .btn {
    color: #fff
}

.text-light .btn.btn-normal {
    background: #fff;
    color: #000
}

.text-light .btn.btn-bordered {
    background: transparent;
    border: 1px solid #fff;
    color: #fff
}

@keyframes btn_icon_anim {
    0% {
        transform: scaleX(1)
    }

    49% {
        transform: scale3d(.95, .7, 1) translateX(-100%);
        opacity: 0
    }

    50% {
        transform: scale3d(.95, .7, 1) translateX(100%);
        opacity: 0
    }

    to {
        transform: scaleX(1);
        opacity: 1
    }
}

@keyframes btn_icon_anim_right {
    0% {
        transform: scaleX(1)
    }

    49% {
        transform: scale3d(.95, .7, 1) translateX(100%);
        opacity: 0
    }

    50% {
        transform: scale3d(.95, .7, 1) translateX(-100%);
        opacity: 0
    }

    to {
        transform: scaleX(1);
        opacity: 1
    }
}

@media only screen and (max-width:768px) {
    .btn {
        font-size: 14px
    }

    .editor-content .btn {
        margin-top: 2rem
    }
}

ul {
    margin-top: 2.4rem;
    margin-bottom: 0;
    padding: 0
}

ul:first-child {
    margin-top: 0
}

ul.fs-list.fs-list {
    list-style: none
}

ul.fs-list li {
    border-top: 1px solid rgba(0, 0, 0, .1);
    padding: 1.6rem 0
}

ul.fs-list li:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .1)
}

ul.fs-list li .list-label,
ul.fs-list li .list-value {
    display: block
}

ul.fs-list li .list-label a,
ul.fs-list li .list-value a {
    color: rgba(0, 0, 0, .5)
}

ul.fs-list.fs-simple-list li {
    border: none !important;
    padding: .4rem 0;
    color: rgba(0, 0, 0, .5);
    font-weight: 400
}

ul.fs-list.fs-simple-list li:first-child {
    padding-top: 0
}

ul.fs-list.fs-simple-list li:last-child {
    padding-bottom: 0
}

.editor-content ul {
    list-style-position: inside
}

.editor-content ul li {
    margin-top: 1.2rem
}

.editor-content ul li::marker {
    color: #000
}

[class*=col-]>.list-item {
    border-top: 1px solid rgba(0, 0, 0, .1);
    padding-top: .8rem;
    padding-bottom: .8rem;
    display: block
}

.text-light [class*=col-]>.list-item {
    border-color: #3a527e
}

.fs-extended-list .fs-list-item a {
    border-top: 1px solid rgba(0, 0, 0, .1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3.2rem 0;
    transition: border .45s ease
}

.fs-extended-list .fs-list-item a .fs-list-item-name {
    width: 50%
}

.fs-extended-list .fs-list-item a .fs-list-item-meta {
    width: 50%;
    display: flex;
    justify-content: right;
    align-items: center;
    padding-right: 0;
    min-height: 48px
}

.fs-extended-list .fs-list-item a .fs-list-item-meta .fs-list-item-arrow {
    transition: all .95s cubic-bezier(.2, .75, .23, 1)
}

.fs-extended-list .fs-list-item:last-child a {
    border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.fs-extended-list .fs-list-item:hover a {
    border-color: #000
}

.fs-extended-list .fs-list-item:hover a .fs-list-item-meta .fs-list-item-arrow {
    margin-left: 6.4rem;
    margin-right: 0
}

.fs-extended-list .fs-list-item:hover+.fs-list-item a {
    border-top-color: #000
}

.fs-extended-list.fs-extended-list-small .fs-list-item a {
    padding: 1.6rem 0
}

.fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-name {
    width: calc(100% - 8rem)
}

.fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-meta {
    width: 8rem;
    padding-right: 0
}

.fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-meta .fs-list-item-arrow {
    margin-right: 0
}

.fs-extended-list.fs-extended-list-small .fs-list-item:hover a .fs-list-item-meta .fs-list-item-arrow {
    margin-left: 1.2rem
}

.job-section .fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-name {
    width: 40%
}

.job-section .fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-meta {
    width: 60%
}

ul.fs-filter {
    list-style: none;
    display: flex;
    overflow-x: auto
}

ul.fs-filter li {
    margin: 0 .6rem
}

ul.fs-filter li a {
    display: block;
    border: 1px solid rgba(0, 0, 0, .1);
    padding: .8rem 2rem;
    color: #000;
    font-weight: 500;
    border-radius: 30px;
    transition: all .35s ease;
    white-space: nowrap
}

ul.fs-filter li a:hover {
    background: #f7f7f7;
    border-color: transparent
}

ul.fs-filter li.is-active a,
ul.fs-filter li a.is-active {
    background: #001846;
    color: #fff;
    border-color: transparent
}

ul.fs-filter li:first-child {
    margin-left: 0
}

ul.fs-filter li:last-child {
    margin-right: 0
}

ul.socialmedia-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-flex
}

ul.socialmedia-list li {
    padding: 0;
    margin: 0 .8rem
}

ul.socialmedia-list li a {
    display: block;
    border: 1px solid #3a527e;
    padding: 1.2rem;
    width: 4.8rem;
    height: 4.8rem;
    text-align: center;
    border-radius: 30px;
    position: relative
}

ul.socialmedia-list li a .fs-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%)
}

@media only screen and (max-width:768px) {
    .job-section .fs-extended-list a {
        padding: 2.4rem 0
    }

    .job-section .fs-extended-list a .fs-list-item-name {
        width: calc(100% - 32px) !important
    }

    .job-section .fs-extended-list a .fs-list-item-meta {
        width: 32px !important;
        padding-right: 0 !important;
        min-height: 32px !important
    }

    .job-section .fs-extended-list a .fs-list-item-meta>span:not(.fs-list-item-arrow) {
        display: none
    }

    .job-section .fs-extended-list a .fs-list-item-meta .fs-list-item-arrow {
        display: block;
        padding: 0;
        width: 16px;
        background: none;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-left: 6.4rem;
        margin-right: -4.8rem
    }

    .job-section .fs-extended-list a .fs-list-item-meta .fs-list-item-arrow:before {
        display: none
    }

    .job-section .fs-extended-list a .fs-list-item-meta .fs-list-item-arrow svg {
        opacity: 1;
        transform: none
    }

    .job-section .fs-extended-list.fs-extended-list-small a .fs-list-item-name {
        width: calc(100% - 32px) !important
    }

    .job-section .fs-extended-list.fs-extended-list-small a .fs-list-item-meta {
        width: 32px !important;
        padding-right: 0 !important;
        min-height: 32px !important
    }

    .job-section .fs-extended-list.fs-extended-list-small a .fs-list-item-meta .fs-list-item-arrow {
        display: block;
        padding: 0;
        width: 16px;
        background: none;
        margin-left: 0 !important
    }

    .job-section .fs-extended-list.fs-extended-list-small a .fs-list-item-meta .fs-list-item-arrow:before {
        display: none
    }

    .job-section .fs-extended-list.fs-extended-list-small a .fs-list-item-meta .fs-list-item-arrow svg {
        opacity: 1;
        transform: none
    }

    .fs-extended-list.fs-extended-list-small .fs-list-item a {
        padding: 2.4rem 0
    }

    .fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-name {
        width: calc(100% - 3.2rem)
    }

    .fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-meta {
        width: 3.2rem;
        padding-right: 0;
        min-height: auto
    }

    .fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-meta .fs-list-item-arrow {
        display: block;
        padding: 0;
        width: 16px;
        background: none;
        margin-left: 0 !important
    }

    .fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-meta .fs-list-item-arrow:before {
        display: none
    }

    .fs-extended-list.fs-extended-list-small .fs-list-item a .fs-list-item-meta .fs-list-item-arrow svg {
        opacity: 1;
        transform: none
    }

    ul.fs-filter {
        width: calc(100% + 4.8rem);
        margin-left: -2.4rem;
        padding: 0 2.4rem
    }
}

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;
    -webkit-box-sizing: content-box !important;
    box-sizing: content-box !important
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
span[class*=pseudo-input],
textarea {
    font-family: 'Noto Serif JP', serif;
    font-size: clamp(16px, 1vw, 19px);
    font-weight: 500;
    background: none;
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    line-height: 28px !important;
    height: auto;
    color: #000;
    padding: 8px 0;
    transition: all .2s ease;
    border-radius: 0;
    resize: none;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    display: block
}

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,
span[class*=pseudo-input]:focus,
textarea:focus {
    outline: none
}

input[type=date][class*=pseudo-input],
input[type=email][class*=pseudo-input],
input[type=number][class*=pseudo-input],
input[type=password][class*=pseudo-input],
input[type=search][class*=pseudo-input],
input[type=tel][class*=pseudo-input],
input[type=text][class*=pseudo-input],
span[class*=pseudo-input][class*=pseudo-input],
textarea[class*=pseudo-input] {
    height: 28px;
    box-sizing: content-box
}

select {
    font-size: clamp(16px, 1vw, 19px);
    font-weight: 500;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    line-height: 28px !important;
    height: auto;
    color: #000;
    padding: 8px 0;
    transition: all .2s ease;
    border-radius: 0;
    resize: none;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    display: block;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 8 13" style="enable-background:new 0 0 8 13;transform:rotate(90deg);fill:black;" xml:space="preserve"><path d="M1.6,12.5c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l4.2-4.2L0.9,2.3c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0 l5.7,5.7l-5.7,5.7C2.1,12.4,1.8,12.5,1.6,12.5z"/></svg>');
    background-position: right 14px top 50%;
    background-repeat: no-repeat;
    background-size: 10px 10px
}

select option {
    cursor: pointer;
    padding: 3px 0;
    font-family: Arial;
    background-color: #fff;
    color: #000
}

select option:checked {
    color: #001846
}

.text-light input[type=date],
.text-light input[type=email],
.text-light input[type=number],
.text-light input[type=password],
.text-light input[type=search],
.text-light input[type=tel],
.text-light input[type=text],
.text-light select,
.text-light span[class*=pseudo-input],
.text-light textarea {
    color: #fff;
    border-color: #3a527e
}

.text-light select {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 8 13" style="enable-background:new 0 0 8 13;transform:rotate(90deg);fill:white;" xml:space="preserve"><path d="M1.6,12.5c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l4.2-4.2L0.9,2.3c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0 l5.7,5.7l-5.7,5.7C2.1,12.4,1.8,12.5,1.6,12.5z"/></svg>')
}

textarea {
    min-height: 100px;
    max-height: 120px
}

.label,
label {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: clamp(16px, 1vw, 19px);
    line-height: 24px;
    width: 100%;
    color: #000;
    display: block;
    margin-bottom: 5px
}

.text-light .label,
.text-light label {
    color: #fff
}

.label-deplace {
    position: relative
}

.label-deplace label {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    height: 20px;
    line-height: 20px;
    transition: all .85s cubic-bezier(.2, .75, .23, 1);
    display: inline-block;
    width: auto;
    margin: 0
}

.label-deplace .form-value:focus-within~label,
.label-deplace.has-val>label {
    top: -16px;
    opacity: .4;
    padding-bottom: 0
}

.form-value-file input {
    width: .1px;
    height: .1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1
}

.form-value-file+label {
    width: 100%;
    padding-bottom: 20px;
    height: auto
}

.wpcf7,
form {
    margin-top: 4.8rem
}

.screen-reader-response+.wpcf7,
.screen-reader-response+form,
.wpcf7:first-child,
form:first-child {
    margin-top: 0 !important
}

form .form-row {
    margin-top: 4.8rem;
    position: relative
}

form .form-row:first-child,
form [style*="display: none"]+.form-row {
    margin-top: 0
}

.wpcf7-form-control-wrap {
    position: relative;
    display: block
}

.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    position: absolute;
    top: 8px;
    left: -16px;
    width: 5px;
    height: 5px;
    background: red;
    border-radius: 20px;
    text-indent: -9999px
}

.has-val .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    top: -8px
}

.wpcf7-form-control-wrap .wpcf7-checkbox~.wpcf7-not-valid-tip {
    display: none
}

.wpcf7 form .wpcf7-response-output {
    padding: 0 0 0 32px;
    margin: 3.2rem 0 0;
    border: none !important;
    background: none;
    color: #000;
    font-weight: 500;
    position: relative
}

.wpcf7 form .wpcf7-response-output:before {
    content: "";
    background: red;
    color: #fff;
    width: 12px;
    height: 12px;
    line-height: 12px;
    display: block;
    position: absolute;
    top: 8px;
    left: 0;
    border-radius: 20px;
    text-align: center;
    font-weight: 30px;
    font-weight: 800
}

.text-light .wpcf7 form .wpcf7-response-output {
    color: #fff
}

.wpcf7 form.sent .wpcf7-response-output:before {
    background: green
}

.wpcf7-list-item-label {
    font-size: 90%;
    line-height: 1.35;
    color: #000
}

input+.wpcf7-list-item-label:before {
    display: inline-block;
    width: 1.2rem
}

.wpcf7-checkbox.wpcf7-not-valid .wpcf7-list-item-label {
    color: red
}

.wpcf7-list-item {
    margin: 0
}

@media only screen and (max-width:768px) {

    .label,
    input[type=date],
    input[type=email],
    input[type=number],
    input[type=password],
    input[type=search],
    input[type=tel],
    input[type=text],
    label,
    span[class*=pseudo-input],
    textarea {
        font-size: 14px
    }

    .label-deplace .form-value:focus-within~label,
    .label-deplace.has-val>label {
        top: -8px
    }

    .screen-reader-response+form,
    .wpcf7,
    form {
        margin-top: 1.6rem !important
    }
}

.fs-toggle-item {
    position: relative
}

p+.fs-toggle-item {
    margin-top: 4.8rem
}

.fs-toggle-item+p {
    margin-top: 6.4rem
}

.fs-toggle-item .fs-toggle-label {
    border-top: 1px solid rgba(0, 0, 0, .1);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 2rem 0;
    transition: border .35s ease;
    position: relative;
    z-index: 2
}

.fs-toggle-item .fs-toggle-label .fs-toggle-label-number {
    width: 9.6rem;
    font-weight: 500;
    font-size: clamp(20px, 1.3vw, 26px);
    line-height: 1.3;
    transition: color .5s ease
}

.fs-toggle-item .fs-toggle-label .fs-toggle-label-name {
    display: block;
    width: calc(100% - 19.2rem);
    cursor: pointer
}

.fs-toggle-item .fs-toggle-label .fs-toggle-label-icon {
    width: 3.2rem;
    display: flex;
    justify-content: right;
    align-items: center;
    cursor: pointer
}

.fs-toggle-item .fs-toggle-label .fs-toggle-label-icon .fs-icon {
    transition: all .75s cubic-bezier(.7, .01, .3, .99) 0s
}

.fs-toggle-item .fs-toggle-label .fs-toggle-label-icon .fs-icon path:nth-child(2) {
    transition: all .75s cubic-bezier(.7, .01, .3, .99) 0s;
    transform-origin: center
}

.fs-toggle-item .fs-toggle-content {
    display: block;
    justify-content: end;
    height: 0;
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: all .6s cubic-bezier(.7, .01, .3, .99) 0s
}

.fs-toggle-item .fs-toggle-content .fs-toggle-content-inner {
    margin-top: 0;
    padding-bottom: 3.2rem
}

.fs-toggle-item .fs-toggle-content .fs-toggle-content-inner ul li {
    border: none !important;
    padding: .4rem 0
}

.fs-toggle-item .fs-toggle-content .fs-toggle-content-inner ul li:first-child {
    padding-top: 0
}

.fs-toggle-item .fs-toggle-content .fs-toggle-content-inner ul li:last-child {
    padding-bottom: 0
}

.fs-toggle-item .fs-toggle-content .editor-content,
.fs-toggle-item .fs-toggle-content .intro {
    width: 55%;
    margin-left: 40%;
    margin-top: 4rem;
    transform: scaleY(.95) translateY(32px);
    transition: all .9s cubic-bezier(.2, .75, .23, 1), transform .9s cubic-bezier(.7, .01, .3, .99) 0s;
    opacity: 0
}

.fs-toggle-item .fs-toggle-content .editor-content:first-child,
.fs-toggle-item .fs-toggle-content .intro:first-child {
    margin-top: 0
}

.fs-toggle-item .fs-toggle-content .fs-toggle-gallery {
    width: calc(100% + 9.6rem);
    margin-top: 4rem
}

.fs-toggle-item .fs-toggle-content .fs-toggle-gallery [class*=col-] {
    transform: scale3d(.95, .95, 1) translateY(50px);
    transition: all .9s cubic-bezier(.2, .75, .23, 1), transform .9s cubic-bezier(.7, .01, .3, .99) 0s;
    opacity: 0
}

.fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-label {
    padding: 3.2rem 0
}

.fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-label>.fs-toggle-label-icon {
    width: 9.6rem
}

.fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-label>.fs-toggle-label-icon .fs-icon {
    width: 20px
}

.fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content {
    padding: 0 9.6rem 0 0
}

.fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content>.fs-toggle-content-inner {
    margin-top: 0;
    padding-bottom: 4.8rem;
    pointer-events: none
}

.fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content .editor-content,
.fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content .intro {
    width: calc(100% - 9.6rem);
    margin-left: 0
}

.fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content .fs-toggle-gallery {
    width: 100%
}

.fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content .fs-toggle-gallery.reduce {
    width: 66%
}

.fs-toggle-item.fs-toggle-item-big:before {
    content: "";
    width: 105vw;
    height: 1px;
    background: rgba(0, 0, 0, .1);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    transition: background .5s ease
}

.fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-label {
    border: none;
    padding: 4rem 0
}

.fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-label>.fs-toggle-label-icon {
    width: 9.6rem
}

.fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-label>.fs-toggle-label-icon .fs-icon {
    width: 20px
}

.fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-label .fs-toggle-label-title {
    width: 40%
}

.fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-content {
    padding: 0 9.6rem;
    top: var(--content-offset)
}

.fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-content>.fs-toggle-content-inner {
    padding-bottom: 6.4rem;
    pointer-events: none
}

.fs-toggle-item.is-active>.fs-toggle-inner>.fs-toggle-label .fs-toggle-label-number,
.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-label .fs-toggle-label-number {
    color: #000
}

.fs-toggle-item.is-active>.fs-toggle-inner>.fs-toggle-label .fs-toggle-label-icon .fs-icon,
.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-label .fs-toggle-label-icon .fs-icon {
    transform: rotate(180deg)
}

.fs-toggle-item.is-active>.fs-toggle-inner>.fs-toggle-label .fs-toggle-label-icon .fs-icon path:nth-child(2),
.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-label .fs-toggle-label-icon .fs-icon path:nth-child(2) {
    transform: rotate(90deg)
}

.fs-toggle-item.is-active>.fs-toggle-inner>.fs-toggle-content,
.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content {
    transition-delay: 0s;
    transform: none;
    opacity: 1;
    transition: all .8s cubic-bezier(.7, .01, .3, .99) 0s
}

.fs-toggle-item.is-active>.fs-toggle-inner>.fs-toggle-content .editor-content,
.fs-toggle-item.is-active>.fs-toggle-inner>.fs-toggle-content .intro,
.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content .editor-content,
.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content .intro {
    transform: none;
    opacity: 1;
    transition: all .9s cubic-bezier(.2, .75, .23, 1) .2s;
    transition-delay: .2s
}

.fs-toggle-item.is-active>.fs-toggle-inner>.fs-toggle-content .fs-toggle-gallery [class*=col-],
.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content .fs-toggle-gallery [class*=col-] {
    transform: none;
    opacity: 1;
    transition: all .9s cubic-bezier(.2, .75, .23, 1) .3s
}

.fs-toggle-item.is-active>.fs-toggle-inner>.fs-toggle-content .editor-content,
.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content .editor-content {
    transition: all .9s cubic-bezier(.2, .75, .23, 1) .4s
}

.fs-toggle-item.is-active.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-content,
.fs-toggle-item.is-always-open.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-content {
    margin-bottom: var(--content-offset)
}

.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-label {
    padding: 8rem 0;
    min-height: 20rem
}

.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content {
    height: auto;
    overflow: inherit;
    top: -12rem;
    margin-bottom: -12rem !important
}

.fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content>.fs-toggle-content-inner {
    position: relative;
    padding-bottom: 8rem;
    pointer-events: all !important
}

.fs-toggle-item.is-always-open:last-child>.fs-toggle-inner>.fs-toggle-content>.fs-toggle-content-inner {
    padding-bottom: 0
}

.fs-toggle-item.is-always-open .fs-toggle-label .fs-toggle-label-name {
    cursor: default
}

.fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-6 {
    width: calc(40% - 5.44rem)
}

.fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-6:nth-child(2n) {
    width: calc(60% + 5.44rem)
}

.fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-6 .fs-media-item {
    padding: 0;
    height: 25vw;
    max-height: 450px
}

.fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-4,
.fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-4:nth-child(2n) {
    width: calc(40% - 5.44rem)
}

.fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-4:nth-child(3n) {
    width: calc(20% + 10.88rem)
}

.fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-4 .fs-media-item {
    padding: 0;
    height: 19vw;
    max-height: 350px
}

.fs-toggle-item.fs-toggle-item-big:nth-child(odd) .fs-toggle-content .fs-toggle-gallery .col-6 {
    width: calc(60% + 5.44rem)
}

.fs-toggle-item.fs-toggle-item-big:nth-child(odd) .fs-toggle-content .fs-toggle-gallery .col-6:nth-child(2n) {
    width: calc(40% - 5.44rem)
}

.fs-toggle-item.fs-toggle-item-big:nth-child(odd) .fs-toggle-content .fs-toggle-gallery .col-4 {
    width: calc(20% + 10.88rem)
}

.fs-toggle-item.fs-toggle-item-big:nth-child(odd) .fs-toggle-content .fs-toggle-gallery .col-4:nth-child(2n),
.fs-toggle-item.fs-toggle-item-big:nth-child(odd) .fs-toggle-content .fs-toggle-gallery .col-4:nth-child(3n) {
    width: calc(40% - 5.44rem)
}

.wrapper .fs-toggle-item .fs-toggle-content,
p+.fs-toggle-item {
    padding: 0 !important
}

@media only screen and (max-width:768px) {
    .fs-toggle-item .fs-toggle-label {
        padding: 2rem 0
    }

    .fs-toggle-item .fs-toggle-label .fs-toggle-label-number {
        width: 4rem;
        font-size: 15px;
        display: block
    }

    .fs-toggle-item .fs-toggle-label .fs-toggle-label-name {
        width: calc(100% - 7.2rem)
    }

    .fs-toggle-item .fs-toggle-label .fs-toggle-label-name .fs-toggle-label-title {
        width: 100% !important
    }

    .fs-toggle-item .fs-toggle-label .fs-toggle-label-icon {
        width: 3.2rem
    }

    .fs-toggle-item .fs-toggle-content .fs-toggle-content-inner {
        margin-top: 0;
        padding-bottom: 3.2rem
    }

    .fs-toggle-item .fs-toggle-content .editor-content,
    .fs-toggle-item .fs-toggle-content .intro {
        width: 100%;
        margin-left: 0;
        margin-top: 0
    }

    .fs-toggle-item .fs-toggle-content .editor-content {
        margin-top: 2.4rem
    }

    .fs-toggle-item .fs-toggle-content .fs-toggle-gallery {
        width: 100%;
        margin-top: 2.4rem
    }

    .fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-label {
        min-height: auto;
        padding: 3.2rem 0
    }

    .fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-label>.fs-toggle-label-icon {
        width: 9.6rem
    }

    .fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-label>.fs-toggle-label-icon .fs-icon {
        width: 20px
    }

    .fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content {
        padding: 0 9.6rem 0 0
    }

    .fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content>.fs-toggle-content-inner {
        margin-top: 0;
        padding-bottom: 3.2rem;
        pointer-events: none
    }

    .fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content .editor-content,
    .fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content .intro {
        width: calc(100% - 9.6rem);
        margin-left: 0
    }

    .fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content .fs-toggle-gallery {
        width: 100%
    }

    .fs-toggle-item.fs-toggle-item-normal>.fs-toggle-inner>.fs-toggle-content .fs-toggle-gallery.reduce {
        width: 66%
    }

    .fs-toggle-item.fs-toggle-item-big:last-child:after {
        content: "";
        width: 105vw;
        height: 1px;
        background: rgba(0, 0, 0, .1);
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        transition: background .5s ease
    }

    .fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-label {
        min-height: auto;
        padding: 3.2rem 0
    }

    .fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-label>.fs-toggle-label-icon {
        width: 3.2rem
    }

    .fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-label>.fs-toggle-label-icon .fs-icon {
        width: 16px
    }

    .fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-content {
        padding: 0;
        top: 0
    }

    .fs-toggle-item.fs-toggle-item-big>.fs-toggle-inner>.fs-toggle-content>.fs-toggle-content-inner {
        margin-top: 0;
        margin-bottom: 0 !important;
        padding-bottom: 3.2rem;
        pointer-events: none
    }

    .fs-toggle-item.is-active>.fs-toggle-inner>.fs-toggle-content,
    .fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content {
        display: flex;
        margin-bottom: 0 !important
    }

    .fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-label {
        padding: 4.8rem 0 1.6rem;
        min-height: auto
    }

    .fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content {
        margin-bottom: 0 !important
    }

    .fs-toggle-item.is-always-open>.fs-toggle-inner>.fs-toggle-content>.fs-toggle-content-inner {
        margin-top: 0;
        padding-bottom: 4.8rem
    }

    .fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-6 {
        width: 100% !important
    }

    .fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-6 .fs-media-item {
        padding-top: 71%;
        height: auto;
        max-height: auto
    }

    .fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-4 {
        width: 100% !important
    }

    .fs-toggle-item.fs-toggle-item-big .fs-toggle-content .fs-toggle-gallery .col-4 .fs-media-item {
        padding-top: 71%;
        height: auto;
        max-height: auto
    }

    .fs-toggle-item.fs-toggle-item-big:nth-child(odd) .fs-toggle-content .fs-toggle-gallery .col-4,
    .fs-toggle-item.fs-toggle-item-big:nth-child(odd) .fs-toggle-content .fs-toggle-gallery .col-6 {
        width: 100% !important
    }
}

.fs-gallery {
    margin-top: 4rem
}

.fs-gallery:first-child {
    margin-top: 0
}

.fs-gallery .fs-gallery-item {
    display: block
}

.fs-gallery.fs-gallery-small {
    width: 48rem;
    max-width: 100%
}

.fs-gallery.fs-gallery-small .fs-gallery-item {
    padding: .8rem 2.4rem !important
}

@media only screen and (min-width:769px) {
    .fs-gallery.gallery-odd .fs-media-item {
        height: 26vw;
        padding: 0 !important
    }
}

@media only screen and (max-width:768px) {
    .fs-gallery.fs-gallery-small {
        width: 100%
    }

    .fs-gallery.fs-gallery-small [class*=col-] {
        width: 33%
    }
}

.hero-section+.product-section:has(.fs-product-list) {
    margin-top: calc(-12.8rem - 1px)
}

.hero-section+.product-section:has(.fs-product-list) .fs-toggle-item:first-child:before {
    display: none
}

@media only screen and (max-width:768px) {
    .hero-section+.product-section:has(.fs-product-list) {
        margin-top: calc(-6.4rem - 1px)
    }
}

.grid-projects.ajax-is-loading {
    transform: scale3d(1.01, 1.01, 1) translateY(-10px);
    transition: all .5s ease;
    opacity: 0
}

.grid-projects.ajax-has-loaded {
    transform: none;
    opacity: 1;
    transition: all .01s cubic-bezier(.2, .75, .23, 1)
}

.grid-projects.ajax-has-loaded>[class*=col-] .media-container {
    transform: scale3d(.95, .9, 1) translateY(50px) !important;
    transition: all .01s cubic-bezier(.2, .75, .23, 1);
    opacity: 0 !important
}

.grid-projects.ajax-has-loaded>[class*=col-] .media-meta .word>span {
    transform: scale3d(.95, .7, 1) translateY(100%) !important;
    opacity: 0 !important;
    transition: all .01s cubic-bezier(.2, .75, .23, 1) !important
}

.grid-projects:not(.ajax-is-loading) .grid-item.is-hidden .media-container {
    transform: scale3d(.95, .9, 1) translateY(50px) !important;
    transition: all .01s cubic-bezier(.2, .75, .23, 1);
    opacity: 0 !important
}

.grid-projects:not(.ajax-is-loading) .grid-item.is-hidden .media-meta .word>span {
    transform: scale3d(.95, .7, 1) translateY(100%) !important;
    opacity: 0 !important;
    transition: all .01s cubic-bezier(.2, .75, .23, 1) !important
}

.fs-grid-pagination {
    margin-top: 6.4rem;
    transition: all .3s ease
}

.fs-grid-pagination.disabled {
    opacity: 0;
    visibility: hidden;
    height: 0;
    margin: 0
}

@media only screen and (max-width:768px) {
    .grid-projects .col-6 {
        width: 100% !important
    }
}

@media only screen and (max-width:768px) {
    .single-job .hero-section {
        margin-bottom: 4rem
    }

    .single-job-section {
        margin-top: 4rem
    }

    .single-job-section .fs-list {
        margin-bottom: 2rem
    }

    .single-job-section .fs-list li:first-child {
        border-top: none;
        padding-top: 0
    }
}

.phat-parallax.fs-bg-el,
.phat-parallax.fs-image {
    top: auto !important;
    bottom: 0;
    height: calc(100% + 15vh) !important
}

#page-footer,
.back-to-page,
.page-title-filter,
.page-title-image,
.project-filter,
.section:not(.hero-section):not(.project-section):not(.category-section) {
    transform: scale3d(.95, .95, 1) translateY(150px);
    transition: all 1.3s cubic-bezier(.2, .75, .23, 1);
    border-radius: .6rem;
    opacity: 0
}

#page-footer.back-to-page,
#page-footer.page-title-filter,
#page-footer.project-filter,
.back-to-page.back-to-page,
.back-to-page.page-title-filter,
.back-to-page.project-filter,
.page-title-filter.back-to-page,
.page-title-filter.page-title-filter,
.page-title-filter.project-filter,
.page-title-image.back-to-page,
.page-title-image.page-title-filter,
.page-title-image.project-filter,
.project-filter.back-to-page,
.project-filter.page-title-filter,
.project-filter.project-filter,
.section:not(.hero-section):not(.project-section):not(.category-section).back-to-page,
.section:not(.hero-section):not(.project-section):not(.category-section).page-title-filter,
.section:not(.hero-section):not(.project-section):not(.category-section).project-filter {
    transform: scaleY(.95) translateY(10px);
    transition-delay: .2s
}

body.has-displayed #page-footer,
body.has-displayed .back-to-page,
body.has-displayed .page-title-filter,
body.has-displayed .page-title-image,
body.has-displayed .project-filter,
body.has-displayed .section:not(.hero-section):not(.project-section):not(.category-section) {
    transform: none;
    opacity: 1;
    border-radius: 0
}

.intro.do-anim {
    transform: scaleY(.85) translateY(50%);
    transition: all 1.3s cubic-bezier(.2, .75, .23, 1);
    opacity: 0
}

body.has-displayed .intro.do-anim.is-animated {
    transform: none;
    opacity: 1;
    transition-delay: .1s
}

cite.do-anim {
    transform: scaleY(.7) translateY(50%);
    transition: all .7s cubic-bezier(.2, .75, .23, 1);
    opacity: 0
}

body.has-displayed cite.do-anim.is-animated {
    transform: none;
    opacity: 1;
    transition-delay: .1s
}

.grid-categories>[class*=col-] .media-container,
.grid-projects>[class*=col-] .media-container {
    transform: scale3d(.95, .9, 1) translateY(50px);
    transition: all 1.3s cubic-bezier(.2, .75, .23, 1);
    transition-delay: calc(var(--item-index)*50ms);
    opacity: 0
}

body.has-displayed .grid-categories>[class*=col-] .media-container,
body.has-displayed .grid-projects>[class*=col-] .media-container {
    transform: none;
    opacity: 1
}

body.has-displayed .grid-categories>[class*=col-] .media-meta .word>span,
body.has-displayed .grid-projects>[class*=col-] .media-meta .word>span {
    transform: none;
    opacity: 1;
    transition-delay: calc(var(--item-index)*50ms + .15s)
}

.grid-categories.grid-slider [class*=col-] .media-hover.do-anim {
    display: block;
    transform: scaleX(1.1) translateX(30%);
    transition: all 1.9s cubic-bezier(.2, .75, .23, 1);
    opacity: 0
}

body.has-displayed .grid-categories.grid-slider [class*=col-] .media-hover.do-anim.is-animated {
    transform: none;
    opacity: 1
}

body.smooth-leaving * {
    pointer-events: none !important
}

body.smooth-leaving #page-body,
body.smooth-leaving #page-footer {
    transform: scale3d(1.01, 1.01, 1) translateY(-30px);
    transition: all .5s ease;
    opacity: 0
}

body.smooth-leaving #page-header>.header-inner,
body.smooth-leaving #page-header>.header-sticky-content {
    transform: translateY(-20px) !important;
    transition: all .5s ease .1s;
    opacity: 0 !important
}

body.smooth-leaving #page-header:before {
    box-shadow: none !important
}

/*! 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:last-child {
    margin: 0
}

.pseudo-pagination>.btn svg {
    transition: opacity .4s ease
}

.pseudo-pagination>.btn.is-disabled {
    pointer-events: none
}

.pseudo-pagination>.btn.is-disabled svg {
    opacity: .2
}

.grid-slider+.pseudo-pagination {
    margin-top: 2.4rem
}

.text-light .pseudo-pagination>.btn .btn-icon:before {
    background: #3a527e
}

.text-light .pseudo-pagination>.btn .btn-icon {
    color: #fff
}

@media only screen and (max-width:768px) {
    .pseudo-pagination {
        display: none
    }

    .grid-slider+.pseudo-pagination {
        display: block
    }
}

.history-section .fs-tab-group .fs-tab-item-inner {
    margin-left: 50%;
    max-width: 400px
}

.history-section .fs-tab-group .fs-tab-item-inner .color-light {
    margin-top: 1.6rem;
    font-size: clamp(20px, 1.3vw, 26px);
    line-height: 1.4;
    min-height: 6.4rem
}

.history-section .grid-history-tabs .fs-tab-item {
    text-align: center;
    position: relative;
    padding: 0 .4rem
}

.history-section .grid-history-tabs .fs-tab-item:after,
.history-section .grid-history-tabs .fs-tab-item:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 50%;
    transform: translateY(-50%);
    height: 1px;
    background: #3a527e;
    transition: all .7s cubic-bezier(.7, .01, .3, .99);
    z-index: -1
}

.history-section .grid-history-tabs .fs-tab-item:after {
    left: auto;
    right: 0
}

.history-section .grid-history-tabs .fs-tab-item .fs-tab-selector {
    display: block;
    position: relative;
    height: 9.6rem;
    width: 100%;
    color: #3a527e;
    transition: all .7s cubic-bezier(.7, .01, .3, .99)
}

.history-section .grid-history-tabs .fs-tab-item .fs-tab-selector .tab-text {
    transition: all .7s cubic-bezier(.7, .01, .3, .99);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(calc(-100% - .8rem))
}

.history-section .grid-history-tabs .fs-tab-item .fs-tab-selector .tab-dot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 5px;
    height: 5px;
    background: #3a527e;
    border-radius: 10px;
    transition: all .7s cubic-bezier(.7, .01, .3, .99)
}

.history-section .grid-history-tabs .fs-tab-item .fs-tab-selector .tab-title {
    transition: all .7s cubic-bezier(.7, .01, .3, .99);
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translateX(-50%) translateY(.8rem)
}

.history-section .grid-history-tabs .fs-tab-item:first-child:before,
.history-section .grid-history-tabs .fs-tab-item:last-child:after {
    display: none
}

.history-section .grid-history-tabs .fs-tab-item.is-selected .fs-tab-selector {
    color: #fff
}

.history-section .grid-history-tabs .fs-tab-item.is-selected .fs-tab-selector:after {
    border-color: #fff;
    transform: none
}

.history-section .grid-history-tabs .fs-tab-item.is-selected .fs-tab-selector .tab-text {
    transform: translateX(-50%) translateY(calc(-100% - 1.2rem)) scale(1.3)
}

.history-section .grid-history-tabs .fs-tab-item.is-selected .fs-tab-selector .tab-dot {
    background: #fff;
    transform: translateX(-50%) translateY(-50%) scale(2)
}

@media only screen and (max-width:768px) {
    .history-section .fs-tab-group .fs-tab-item-inner {
        margin-left: 0;
        max-width: 100%
    }

    .history-section .fs-tab-group .fs-tab-item-inner .color-light {
        margin-top: .8rem;
        font-size: 14px
    }
}

@media only screen and (max-width:768px) {
    .truncated-text:not(.is-expanded) {
        display: -webkit-box;
        -webkit-line-clamp: 6;
        -webkit-box-orient: vertical;
        overflow: hidden
    }

    .truncated-text.is-expanded+.expand-truncate {
        display: none !important
    }
}

#search-modal {
    position: fixed;
    width: 100%;
    height: 0;
    top: 0;
    left: 0;
    z-index: 999;
    overflow: hidden;
    transition: height .01s ease .8s
}

#search-modal:before {
    content: "";
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .45s ease .2s;
    z-index: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

#search-modal .close-search {
    position: absolute;
    top: 2.4rem;
    right: 8rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: clamp(16px, 1vw, 19px);
    color: #000;
    z-index: 2;
    transition: all .35s ease;
    line-height: 1.2;
    display: flex;
    align-items: center;
    opacity: 0
}

#search-modal .close-search .icon {
    width: 16px;
    display: inline-block;
    margin-right: .8rem;
    opacity: .3
}

#search-modal .close-search .icon svg {
    transform: rotate(45deg)
}

#search-modal .search-modal-inner {
    position: relative;
    z-index: 1;
    padding: 12.6rem 0;
    max-height: 100svh;
    overflow-y: auto
}

#search-modal .search-modal-inner:before {
    content: "";
    background: #fff;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 0;
    transition: all .75s cubic-bezier(.2, .75, .23, 1) .2s;
    z-index: 0
}

#search-modal form.searchform {
    position: relative;
    transition: all .35s cubic-bezier(.2, .75, .23, 1) .2s;
    transform: translateY(-15px);
    opacity: 0
}

#search-modal form.searchform:before {
    position: absolute;
    bottom: -30px;
    left: 0;
    content: "";
    height: 6px;
    width: 6px;
    border-radius: 50%;
    animation: wobble .9s cubic-bezier(.7, .01, .3, .99) infinite;
    background-color: #001846;
    opacity: 0;
    pointer-events: none;
    transition: all .35s ease
}

@keyframes wobble {

    0%,
    to {
        transform: translateX(0)
    }

    50% {
        transform: translatex(20px)
    }
}

#search-modal form.searchform>div {
    position: relative
}

#search-modal form.searchform>div .search-title {
    position: absolute;
    top: -4.8rem;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: all .45s ease
}

#search-modal form.searchform>div ::placeholder {
    color: #000;
    opacity: .3
}

#search-modal form.searchform>div input[type=text] {
    font-size: clamp(28px, 2vw, 36px);
    padding: 0 0 2.4rem
}

#search-modal form.searchform>div button[type=submit] {
    border: none;
    background: none;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    cursor: pointer
}

#search-modal form.searchform>div button[type=submit] .fs-icon {
    width: 24px
}

#search-modal .search-results-container {
    height: 0;
    overflow: hidden;
    transition: height .75s cubic-bezier(.2, .75, .23, 1) 0s
}

#search-modal .search-results-container .search-results .fs-list-item {
    opacity: 0;
    transform: translateY(-15px);
    transition: all .65s cubic-bezier(.2, .75, .23, 1) 0s
}

#search-modal .search-results-container .search-results .fs-list-item:first-child a {
    border-top: none !important
}

#search-modal .search-results-container .search-results .fs-list-item a {
    padding: 1.6rem 0
}

body.search-is-open #search-modal {
    height: 100%;
    transition-delay: 0s
}

body.search-is-open #search-modal:before {
    opacity: .5;
    visibility: visible;
    transition-delay: 0s
}

body.search-is-open #search-modal .close-search {
    opacity: 1;
    transition-delay: .6s
}

body.search-is-open #search-modal .search-modal-inner:before {
    height: 100%;
    transition-delay: .05s
}

body.search-is-open #search-modal form.searchform {
    transition-delay: .3s;
    transition-duration: .65s;
    transform: none;
    opacity: 1
}

body.is-searching #search-modal form.searchform:before,
body.search-is-open.has-searched:not(.is-searching) #search-modal .search-title {
    opacity: 1
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item {
    opacity: 1;
    transform: none;
    transition-delay: .2s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:first-child {
    transition-delay: .27s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:nth-child(2) {
    transition-delay: .34s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:nth-child(3) {
    transition-delay: .41s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:nth-child(4) {
    transition-delay: .48s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:nth-child(5) {
    transition-delay: .55s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:nth-child(6) {
    transition-delay: .62s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:nth-child(7) {
    transition-delay: .69s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:nth-child(8) {
    transition-delay: .76s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:nth-child(9) {
    transition-delay: .83s
}

body.search-is-open.has-searched:not(.is-searching) #search-modal .search-results-container .search-results .fs-list-item:nth-child(10) {
    transition-delay: .9s
}

body .cmplz-cookiebanner {
    width: 360px;
    min-width: 360px;
    max-width: 360px;
    right: 16px;
    bottom: 16px;
    top: auto;
    left: auto;
    box-shadow: 0 8px 16px rgba(149, 157, 165, .2) !important;
    border: 1px solid rgba(0, 0, 0, .1)
}

body .cmplz-cookiebanner .cmplz-header {
    text-align: left;
    display: flex;
    justify-content: space-between
}

body .cmplz-cookiebanner .cmplz-header .cmplz-title {
    font-size: clamp(16px, 1vw, 19px);
    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: #000;
    -webkit-mask-image: url(../img/cross.svg);
    mask-image: url(../img/cross.svg);
    transform: rotate(-45deg)
}

body .cmplz-cookiebanner .cmplz-body .cmplz-message {
    color: rgba(0, 0, 0, .5);
    font-size: clamp(13px, .8vw, 14px);
    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(13px, .8vw, 14px) !important;
    font-weight: 500;
    line-height: 1.5;
    padding: 1.2rem 0 !important;
    height: auto !important;
    border: none !important;
    background: #f7f7f7 !important;
    color: #000 !important;
    border-radius: .6rem
}

body .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
    background-color: #001846 !important;
    color: #fff !important
}

body .cmplz-cookiebanner .cmplz-links .cmplz-link {
    font-size: clamp(11px, .8vw, 12px);
    color: rgba(0, 0, 0, .5)
}

body .cmplz-cookiebanner .cmplz-categories {
    width: 100%;
    padding-top: .8rem;
    padding-bottom: .8rem
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category {
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: .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(0, 0, 0, .1)
}

body #cmplz-manage-consent .cmplz-manage-consent:after {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    width: 24px;
    height: 24px;
    background-color: #000;
    -webkit-mask-image: url(../img/cookie.svg);
    mask-image: url(../img/cookie.svg)
}

body:not(.privacy-policy) #cmplz-manage-consent {
    display: none
}

/* ===== Header Logo Switch (car9) ===== */
#page-header .header-logo img {
    height: 100%;
    width: auto
}

#page-header .header-logo .logo-light-9284 {
    display: none
}

#page-header .header-logo .logo-dark-9284 {
    display: block
}

body:not(.has-scrolled):not(.menu-is-open) #page-header.header-light .header-logo .logo-dark-9284 {
    display: none
}

body:not(.has-scrolled):not(.menu-is-open) #page-header.header-light .header-logo .logo-light-9284 {
    display: block
}

/* ===== Hero Video (car9) ===== */
.fs-video-9284 {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover
}

.intro-logo-img-9284 {
    width: 100%;
    height: 100%
}

/* ===== Map Section (car9) ===== */
.map-section-9284 {
    width: 100%;
    line-height: 0
}

.map-section-9284 iframe {
    width: 100%;
    height: 45rem;
    filter: grayscale(100%);
    transition: filter 0.3s ease
}

.map-section-9284 iframe:hover {
    filter: grayscale(0%)
}

@media only screen and (max-width: 768px) {
    .map-section-9284 iframe {
        height: 30rem
    }
}

/* ===== Footer (car9) ===== */
#page-footer .footer-main-9284 {
    padding: 10rem 0 8rem
}

.footer-main-9284 .grid-row {
    align-items: flex-start
}

.footer-left-9284 {
    padding-right: 3rem
}

.footer-logo-9284 {
    margin-bottom: 3rem
}

.footer-logo-9284 img {
    height: 4rem;
    width: auto
}

.footer-desc-9284 {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 3rem;
    opacity: 0.8
}

.footer-left-9284 .socialmedia-list {
    justify-content: flex-start
}

.footer-center-9284 {
    padding: 0 2rem
}

.footer-menu-wrap-9284 {
    display: flex;
    gap: 4rem
}

.footer-menu-col-9284 {
    flex: 1
}

.footer-menu-title-9284 {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 2.5rem;
    color: #fff
}

.footer-menu-list-9284 {
    list-style: none;
    padding: 0;
    margin: 0
}

.footer-menu-list-9284 li {
    margin-bottom: 1.5rem
}

.footer-menu-list-9284 a {
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.3s ease
}

.footer-menu-list-9284 a:hover {
    color: #fff
}

.footer-right-9284 {
    padding-left: 3rem
}

.footer-info-title-9284 {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 2.5rem;
    color: #fff
}

.footer-info-9284 {
    font-size: 1.4rem;
    line-height: 1.8
}

.footer-info-9284 p {
    margin-bottom: 1.5rem;
    opacity: 0.8
}

.footer-company-9284 {
    font-size: 1.6rem;
    font-weight: 600;
    opacity: 1
}

.footer-info-9284 a {
    color: rgba(255, 255, 255, 0.8);
    transition: color 0.3s ease
}

.footer-info-9284 a:hover {
    color: #fff
}

#page-footer .footer-bottom-9284 {
    padding: 4rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center
}

.copyright-9284 {
    font-size: 1.2rem;
    opacity: 0.6;
    margin: 0
}

/* Footer Responsive */
@media only screen and (max-width: 991px) {
    .footer-main-9284 .grid-row {
        flex-wrap: wrap
    }

    .footer-left-9284,
    .footer-center-9284,
    .footer-right-9284 {
        width: 100%;
        padding: 0;
        margin-bottom: 3rem
    }

    .footer-left-9284 .socialmedia-list {
        justify-content: flex-start
    }

    .footer-menu-wrap-9284 {
        gap: 3rem
    }
}

@media only screen and (max-width: 576px) {
    #page-footer .footer-main-9284 {
        padding: 6rem 0 4rem
    }

    .footer-main-9284 .grid-row {
        width: 75%;
        margin: 0 auto;
        justify-content: center
    }

    .footer-left-9284,
    .footer-center-9284,
    .footer-right-9284 {
        text-align: center
    }

    .footer-logo-9284 {
        display: flex;
        justify-content: center
    }

    .footer-left-9284 .socialmedia-list {
        justify-content: center
    }

    .footer-menu-wrap-9284 {
        flex-direction: column;
        gap: 2rem;
        align-items: center
    }

    .footer-menu-col-9284 {
        width: 100%;
        text-align: center
    }

    .footer-menu-list-9284 {
        display: flex;
        flex-direction: column;
        align-items: center
    }

    .footer-info-9284 {
        text-align: center
    }
}