@import"https://fast.fonts.net/lt/1.css?apiType=css&c=aa8fe98b-d7fd-4d36-a370-51573959de29&fontids=5963713,5963727,5963732";

.Container {
    width: 90%;
    max-width: 1160px;
    margin: 0 auto
}

@media only screen and (max-width : 1024px) {
    .Container {
        width: 90%
    }
}

@media only screen and (max-width : 767px) {
    .Container {
        width: 90%
    }
}

.Container.Full-Height {
    height: 100%
}

@media only screen and (max-width : 1024px) {
    .Container.Full-Tablet {
        width: 100%
    }
}

.Row {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    margin-right: -12px;
    margin-left: -12px
}

.Row.Align-Top {
    align-items: flex-start
}

.Row.Align-Center {
    align-items: center
}

.Row.Align-Bottom {
    align-items: flex-end
}

.Row.Reverse {
    flex-direction: row-reverse
}

.Row.Justified-Space-Between {
    justify-content: center
}

@media only screen and (max-width : 1024px) {
    .Row.Tablet-Reverse {
        flex-direction: row-reverse
    }
}

@media only screen and (max-width : 767px) {
    .Row.Mobile-Reverse {
        flex-direction: row-reverse
    }
}

.Column,
.Column-1,
.Column-2,
.Column-3,
.Column-4,
.Column-5,
.Column-6,
.Column-7,
.Column-8 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-right: 12px;
    padding-left: 12px
}

.Column {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%
}

.Column-1 {
    flex-basis: 12.5%;
    max-width: 12.5%
}

.Column-2 {
    flex-basis: 25%;
    max-width: 25%
}

.Column-3 {
    flex-basis: 37.5%;
    max-width: 37.5%
}

.Column-4 {
    flex-basis: 50%;
    max-width: 50%
}

.Column-5 {
    flex-basis: 62.5%;
    max-width: 62.5%
}

.Column-6 {
    flex-basis: 75%;
    max-width: 75%
}

.Column-7 {
    flex-basis: 87.5%;
    max-width: 87.5%
}

.Column-8 {
    flex-basis: 100%;
    max-width: 100%
}

.Offset-0 {
    margin-left: 0
}

.Offset-1 {
    margin-left: 12.5%
}

.Offset-2 {
    margin-left: 25%
}

.Offset-3 {
    margin-left: 37.5%
}

.Offset-4 {
    margin-left: 50%
}

.Offset-5 {
    margin-left: 62.5%
}

.Offset-6 {
    margin-left: 75%
}

.Offset-7 {
    margin-left: 87.5%
}

@media only screen and (max-width : 1024px) {
    .Row {
        margin-right: -16px;
        margin-left: -16px
    }

    .Column-Tablet,
    .Column-Tablet-1,
    .Column-Tablet-2,
    .Column-Tablet-3,
    .Column-Tablet-4,
    .Column-Tablet-5,
    .Column-Tablet-6 {
        box-sizing: border-box;
        flex: 0 0 auto;
        padding-right: 16px;
        padding-left: 16px
    }

    .Column-Tablet {
        flex-grow: 1;
        flex-basis: 0;
        max-width: 100%
    }

    .Column-Tablet-1 {
        flex-basis: 16.666666%;
        max-width: 16.666666%
    }

    .Column-Tablet-2 {
        flex-basis: 33.333333%;
        max-width: 33.333333%
    }

    .Column-Tablet-3 {
        flex-basis: 50%;
        max-width: 50%
    }

    .Column-Tablet-4 {
        flex-basis: 66.666666%;
        max-width: 66.666666%
    }

    .Column-Tablet-5 {
        flex-basis: 83.333333%;
        max-width: 83.333333%
    }

    .Column-Tablet-6 {
        flex-basis: 100%;
        max-width: 100%
    }

    .Offset-Tablet-0 {
        margin-left: 0
    }

    .Offset-Tablet-1 {
        margin-left: 16.666666%
    }

    .Offset-Tablet-2 {
        margin-left: 33.333333%
    }

    .Offset-Tablet-3 {
        margin-left: 50%
    }

    .Offset-Tablet-4 {
        margin-left: 66.666666%
    }

    .Offset-Tablet-5 {
        margin-left: 83.333333%
    }
}

@media only screen and (max-width : 767px) {
    .Row {
        margin-right: -12px;
        margin-left: -12px
    }

    .Column-Mobile,
    .Column-Mobile-1,
    .Column-Mobile-2,
    .Column-Mobile-3 {
        box-sizing: border-box;
        flex: 0 0 auto;
        padding-right: 12px;
        padding-left: 12px
    }

    .Column-Mobile {
        flex-grow: 1;
        flex-basis: 0;
        max-width: 100%
    }

    .Column-Mobile-1 {
        flex-basis: 33.333333%;
        max-width: 33.333333%
    }

    .Column-Mobile-2 {
        flex-basis: 66.666666%;
        max-width: 66.666666%
    }

    .Column-Mobile-3 {
        flex-basis: 100%;
        max-width: 100%
    }

    .Offset-Mobile-0 {
        margin-left: 0
    }

    .Offset-Mobile-1 {
        margin-left: 33.333333%
    }

    .Offset-Mobile-2 {
        margin-left: 66.666666%
    }
}

.FlexContainer {
    display: flex;
    flex-flow: row wrap
}

.FlexColumn__2Col {
    width: 50%
}

@media only screen and (max-width : 1024px) {
    .FlexColumn__2Col {
        width: 100%
    }
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility !important
}

html,
body {
    padding: 0;
    margin: 0;
    font-size: 10px;
    background-color: #fff;
    font-family: DroteskNo5-Regular;
    overflow-x: hidden
}

[data-lang=ja] html,
[data-lang=ja] body {
    font-family: NotoSansJP-Regular
}

html {
    overflow-y: scroll
}

.AppMenuOpen {
    position: fixed;
    width: 100%
}

.cookie-banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 15px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    background-color: #000;
    color: #fff;
    z-index: 100;
    box-shadow: 0 0 2px 1px #0003
}

@media only screen and (max-width : 767px) {
    .cookie-banner {
        flex-direction: column;
        padding: 15px
    }
}

.cookie-banner p {
    width: 100%;
    font-size: 14px;
    display: inline-block
}

.cookie-banner p a {
    text-decoration: underline
}

.cookie-banner__buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem
}

@media only screen and (max-width : 767px) {
    .cookie-banner__buttons {
        width: 100%;
        padding-bottom: 1rem
    }
}

.cookie-banner button {
    padding: 15px;
    font-size: 14px;
    border-radius: 5px
}

@media only screen and (max-width : 767px) {
    .cookie-banner button {
        width: 100%;
        text-align: center
    }
}

.cookie-banner .accept {
    background-color: #0000d5;
    color: #fff
}

.cookie-banner .decline {
    color: #000;
    background-color: #fff
}

.close {
    height: 20px;
    background-color: #777;
    border: none;
    color: #fff;
    border-radius: 2px;
    cursor: pointer
}

::-moz-selection {
    color: #fff;
    background: #0000d5
}

::selection {
    color: #fff;
    background: #0000d5
}

.Headline_XXL {
    font-family: DroteskNo5-Bold;
    font-size: 160px;
    letter-spacing: -3px;
    line-height: 140px
}

[data-lang=ja] .Headline_XXL {
    font-family: NotoSansJP-Bold
}

@media only screen and (max-width : 1024px) {
    .Headline_XXL {
        font-size: 100px;
        letter-spacing: -2px;
        line-height: 100px
    }
}

@media only screen and (max-width : 767px) {
    .Headline_XXL {
        font-size: 60px;
        letter-spacing: -1px;
        line-height: 60px
    }
}

.Headline_XL {
    font-family: DroteskNo5-Bold;
    font-size: 100px;
    letter-spacing: -3px;
    line-height: 110px
}

[data-lang=ja] .Headline_XL {
    font-family: NotoSansJP-Bold
}

@media only screen and (max-width : 1024px) {
    .Headline_XL {
        font-size: 70px;
        letter-spacing: -2.1px;
        line-height: 80px
    }
}

@media only screen and (max-width : 767px) {
    .Headline_XL {
        font-size: 36px;
        letter-spacing: -1.32px;
        line-height: 40px
    }
}

.Headline_Landing {
    font-family: DroteskNo5-Medium;
    font-size: 54px;
    line-height: 72px;
    color: #000;
    font-weight: inherit
}

[data-lang=ja] .Headline_Landing {
    font-family: NotoSansJP-Medium
}

@media only screen and (max-width : 1024px) {
    .Headline_Landing {
        font-size: 28px;
        line-height: 36px
    }
}

.Headline_Large {
    font-family: DroteskNo5-Regular;
    font-size: 35px;
    line-height: 48px;
    font-weight: initial
}

[data-lang=ja] .Headline_Large {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 1024px) {
    .Headline_Large {
        font-size: 28px;
        line-height: 36px
    }
}

@media only screen and (max-width : 767px) {
    .Headline_Large {
        font-size: 24px;
        line-height: 30px
    }
}

.Headline_Small {
    font-family: DroteskNo5-Regular;
    font-size: 28px;
    line-height: 42px;
    color: #000;
    font-weight: inherit
}

[data-lang=ja] .Headline_Small {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 1024px) {
    .Headline_Small {
        font-size: 20px;
        line-height: 25px
    }
}

.Headline_XS {
    font-family: DroteskNo5-Regular;
    font-size: 22px;
    line-height: 36px;
    color: #000;
    font-weight: inherit
}

[data-lang=ja] .Headline_XS {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 1024px) {
    .Headline_XS {
        font-size: 20px;
        line-height: 25px
    }
}

.Headline--Uppercase {
    text-transform: uppercase
}

.Body_Light {
    font-family: DroteskNo5-Regular;
    font-size: 16px;
    line-height: 26px;
    color: #9ea7aa
}

[data-lang=ja] .Body_Light {
    font-family: NotoSansJP-Regular
}

.Body_Light p+p {
    margin-top: 16px
}

@media only screen and (max-width : 1024px) {
    .Body_Light {
        font-size: 14px;
        line-height: 22px
    }
}

.Body_Dark {
    font-family: DroteskNo5-Regular;
    color: #000;
    font-size: 16px;
    line-height: 26px
}

[data-lang=ja] .Body_Dark {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 1024px) {
    .Body_Dark {
        font-size: 14px;
        line-height: 22px
    }
}

.Project_Caption {
    font-family: GTPressuraMono;
    color: #959595;
    font-size: 14px;
    text-transform: uppercase;
    line-height: 17px
}

.Quoted_Department {
    font-weight: 100;
    font-family: GTPressuraMono;
    color: #959595;
    font-size: 12px;
    text-transform: uppercase
}

.Archived_Project {
    font-family: DroteskNo5-Regular;
    color: #000;
    font-size: 20px;
    line-height: 30px;
    font-weight: inherit
}

[data-lang=ja] .Archived_Project {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 1024px) {
    .Archived_Project {
        font-size: 16px;
        line-height: 26px
    }
}

.Open_Career {
    font-weight: 100;
    font-family: GTPressuraMono;
    color: #000;
    font-size: 18px;
    line-height: 40px
}

.h1 {
    font-family: DroteskNo5-Regular;
    color: #000;
    font-weight: 100;
    font-size: 4.2rem
}

[data-lang=ja] .h1 {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 320px) {
    .h1 {
        font-size: 5.2rem;
        line-height: 35px
    }
}

@media only screen and (max-width : 767px) {
    .h1 {
        font-size: 5.2rem
    }
}

@media only screen and (max-width: 1280px) {
    .h1 {
        font-size: 3.28125vw
    }
}

@media only screen and (max-width: 800px) {
    .h1 {
        font-size: 2.625rem
    }
}

.h2 {
    font-family: DroteskNo5-Regular;
    color: #000;
    font-size: 2.8rem
}

[data-lang=ja] .h2 {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 767px) {
    .h2 {
        font-size: 4.6rem
    }
}

@media only screen and (max-width : 320px) {
    .h2 {
        font-size: 2.8rem
    }
}

.h3 {
    font-family: DroteskNo5-Regular;
    color: #000;
    font-size: 2.8rem
}

[data-lang=ja] .h3 {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 767px) {
    .h3 {
        font-size: 3.4rem
    }
}

.body-copy {
    font-family: DroteskNo5-Regular;
    color: #9ea7aa;
    font-size: 1.6rem
}

[data-lang=ja] .body-copy {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 767px) {
    .body-copy {
        font-size: 3.2rem
    }
}

@media only screen and (max-width : 320px) {
    .body-copy {
        font-size: 1.6rem
    }
}

.caption {
    font-family: GTPressura;
    color: #000;
    text-transform: uppercase;
    font-size: 1.4rem
}

.quote-name {
    font-family: DroteskNo5-Regular;
    color: #000;
    font-size: 1.8rem;
    font-weight: 700
}

[data-lang=ja] .quote-name {
    font-family: NotoSansJP-Regular
}

.BG__Grey {
    background-color: #f4f4f4;
    padding-top: 75px;
    padding-bottom: 75px
}

.BG__Blue {
    background-color: #0000d5;
    padding-top: 75px;
    padding-bottom: 75px;
    color: #fff
}

.CTA__Button {
    font-family: DroteskNo5-Medium;
    transition: all .3s ease;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    display: inline-block;
    padding: 12px 30px;
    cursor: pointer
}

[data-lang=ja] .CTA__Button {
    font-family: NotoSansJP-Medium
}

.CTA__Button.light {
    background-color: #fff;
    color: #000
}

@media only screen and (min-width : 1025px) {
    .CTA__Button:hover {
        background-color: #0000d5;
        color: #fff
    }
}

.fixed {
    position: fixed
}

.relative {
    position: relative
}

.noscroll {
    width: 100%;
    height: 100%;
    position: fixed;
    overflow: hidden
}

.Carousel {
    overflow: hidden
}

.orange {
    color: #d05005
}

.blue {
    color: #0000d5
}

.black {
    color: #000
}

.centered {
    width: 100%;
    text-align: center
}

.Mobile-Only {
    display: none
}

.Mobile-Hide {
    display: block
}

@media only screen and (max-width : 767px) {
    .Mobile-Only {
        display: block
    }

    .Mobile-Hide {
        display: none
    }
}

.Mobile-Scroll {
    overflow-x: scroll;
    overflow-y: hidden
}

.Header_Accent {
    width: 70px;
    height: 6px;
    background-color: #0000d5;
    margin: 0 auto 30px
}

.Header_Accent.absolute {
    position: absolute;
    left: 50%;
    top: -40px;
    margin-left: -35px
}

.Header_Accent--left {
    width: 70px;
    height: 6px;
    background-color: #0000d5;
    margin-bottom: 15px
}

.Back-To-Top {
    position: fixed;
    z-index: 100;
    right: 35px;
    bottom: 35px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.Back-To-Top svg g g {
    transition: fill .15s ease-out;
    fill: #959595
}

.Back-To-Top.Higher {
    bottom: 100px
}

@media only screen and (max-width : 1024px) {
    .Back-To-Top.Higher {
        bottom: 150px
    }
}

@media only screen and (max-width : 767px) {
    .Back-To-Top {
        display: none
    }
}

.Back-To-Top .Back-To-Top__Label {
    transition: all .15s ease-out;
    font-family: GTPressuraMono;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #959595;
    text-align: center;
    margin-top: 15px
}

.Back-To-Top:hover .Back-To-Top__Label {
    color: #0000d5;
    margin-top: 25px
}

.Back-To-Top:hover svg g g {
    fill: #0000d5
}

.App__Overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 1030
}

.Image_Zoom {
    position: relative;
    overflow: hidden;
    width: 100%
}

.Image_Zoom img {
    width: 100%;
    transition: all .5s
}

.Image_Zoom .Image_Zoom__BG {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: all .5s
}

.Image_Zoom:hover img,
.Image_Zoom:hover .Image_Zoom__BG,
.Image_Zoom.active img,
.Image_Zoom.active .Image_Zoom__BG {
    transform: scale(1.1)
}

.fade-enter-active,
.fade-leave-active {
    transition: opacity .2s ease
}

.fade-enter,
.fade-leave-to,
.fade-leave-active {
    opacity: 0
}

.slide-fade-enter-active,
.slide-fade-leave-active {
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    -o-transition: all .2s
}

.slide-fade-enter,
.slide-fade-leave-to {
    opacity: 0;
    transform: translate(-100%)
}

.slide-fade2-enter-active,
.slide-fade2-leave-active {
    -webkit-transition: all .35s;
    -moz-transition: all .35s;
    -ms-transition: all .35s;
    -o-transition: all .35s
}

.slide-fade2-enter,
.slide-fade2-leave-to {
    opacity: 0;
    transform: translate(-100%)
}

.slide-fade3-enter-active,
.slide-fade3-leave-active {
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s
}

.slide-fade3-enter,
.slide-fade3-leave-to {
    opacity: 0;
    transform: translate(-100%)
}

.slide-fade-left-enter-active,
.slide-fade-left-leave-active {
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    -o-transition: all .2s
}

.slide-fade-left-enter,
.slide-fade-left-leave-to {
    opacity: 0;
    transform: translate(100%)
}

.SkipToMain {
    position: absolute;
    top: 12rem;
    left: 2rem;
    z-index: 1000;
    transform: translate(-1000px)
}

.SkipToMain:focus,
.SkipToMain:active {
    transform: translate(0)
}

@font-face {
    font-family: Hiragino-Regular;
    src: url(/assets/fonts/5963713/847b40ac-5446-4c5d-957d-a9e786c759b7.woff2) format("woff2"), url(/assets/fonts/5963713/592d0fe1-2ef4-416f-89a8-9c92faee1303.woff) format("woff")
}

@font-face {
    font-family: Hiragino-Bold;
    src: url(/assets/fonts/5963727/4c23a4fb-eeda-401d-b46e-8ed51e021087.woff2) format("woff2"), url(/assets/fonts/5963727/edf9f4ca-11a5-47b1-96f0-5cc38aa891a9.woff) format("woff")
}

@font-face {
    font-family: Hiragino-Medium;
    src: url(/assets/fonts/5963732/a90cb732-0ee6-46b2-932d-63be489a481e.woff2) format("woff2"), url(/assets/fonts/5963732/d0717f06-4a78-4214-b1c3-466cc612b36e.woff) format("woff")
}

@font-face {
    font-family: DroteskNo5-Regular;
    src: url(/assets/fonts/DroteskNo5-Regular.eot);
    src: url(/assets/fonts/DroteskNo5-Regular.eot?#iefix) format("embedded-opentype"), url(/assets/fonts/DroteskNo5-Regular.woff2) format("woff2"), url(/assets/fonts/DroteskNo5-Regular.woff) format("woff"), url(/assets/fonts/DroteskNo5-Regular.ttf) format("truetype");
    font-style: normal
}

@font-face {
    font-family: DroteskNo5-Medium;
    src: url(/assets/fonts/DroteskNo5-Medium.eot);
    src: url(/assets/fonts/DroteskNo5-Medium.eot?#iefix) format("embedded-opentype"), url(/assets/fonts/DroteskNo5-Medium.woff2) format("woff2"), url(/assets/fonts/DroteskNo5-Medium.woff) format("woff"), url(/assets/fonts/DroteskNo5-Medium.ttf) format("truetype");
    font-style: normal
}

@font-face {
    font-family: DroteskNo5-Bold;
    src: url(/assets/fonts/DroteskNo5-Bold.eot);
    src: url(/assets/fonts/DroteskNo5-Bold.eot?#iefix) format("embedded-opentype"), url(/assets/fonts/DroteskNo5-Bold.woff2) format("woff2"), url(/assets/fonts/DroteskNo5-Bold.woff) format("woff"), url(/assets/fonts/DroteskNo5-Bold.ttf) format("truetype");
    font-style: normal
}

@font-face {
    font-family: Gothic-Regular;
    src: url(/assets/fonts/TBGoStd-Medium.otf);
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: Gothic-Medium;
    src: url(/assets/fonts/TBGoStd-DemiBold.otf);
    font-style: normal
}

@font-face {
    font-family: Gothic-Bold;
    src: url(/assets/fonts/TBGoStd-Bold.otf);
    font-style: normal
}

@font-face {
    font-family: GTPressura;
    src: url(/assets/fonts/DroteskNo5-Medium.eot);
    src: url(/assets/fonts/DroteskNo5-Medium.eot?#iefix) format("embedded-opentype"), url(/assets/fonts/DroteskNo5-Medium.woff2) format("woff2"), url(/assets/fonts/DroteskNo5-Medium.woff) format("woff"), url(/assets/fonts/DroteskNo5-Regular.ttf) format("truetype");
    font-style: normal
}

@font-face {
    font-family: GTPressuraMono;
    src: url(/assets/fonts/DroteskNo5-Medium.eot);
    src: url(/assets/fonts/DroteskNo5-Medium.eot?#iefix) format("embedded-opentype"), url(/assets/fonts/DroteskNo5-Medium.woff2) format("woff2"), url(/assets/fonts/DroteskNo5-Medium.woff) format("woff"), url(/assets/fonts/DroteskNo5-Regular.ttf) format("truetype");
    font-style: normal
}

@font-face {
    font-family: NotoSansJP-Regular;
    src: url(/assets/fonts/NotoSansJP/NotoSansJP-Regular.woff2) format("woff2"), url(/assets/fonts/NotoSansJP/NotoSansJP-Regular.woff) format("woff"), url(/assets/fonts/NotoSansJP/NotoSansJP-Regular.ttf) format("truetype");
    font-style: normal
}

@font-face {
    font-family: NotoSansJP-Medium;
    src: url(/assets/fonts/NotoSansJP/NotoSansJP-Medium.woff2) format("woff2"), url(/assets/fonts/NotoSansJP/NotoSansJP-Medium.woff) format("woff"), url(/assets/fonts/NotoSansJP/NotoSansJP-Medium.ttf) format("truetype");
    font-style: normal
}

@font-face {
    font-family: NotoSansJP-Bold;
    src: url(/assets/fonts/NotoSansJP/NotoSansJP-Bold.woff2) format("woff2"), url(/assets/fonts/NotoSansJP/NotoSansJP-Bold.woff) format("woff"), url(/assets/fonts/NotoSansJP/NotoSansJP-Bold.ttf) format("truetype");
    font-style: normal
}

@font-face {
    font-family: NotoSansJP-Black;
    src: url(/assets/fonts/NotoSansJP/NotoSansJP-Black.woff2) format("woff2"), url(/assets/fonts/NotoSansJP/NotoSansJP-Black.woff) format("woff"), url(/assets/fonts/NotoSansJP/NotoSansJP-Black.ttf) format("truetype");
    font-style: normal
}

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent
}

body {
    font-size: 10px;
    margin: 0;
    line-height: 1;
    font-family: sans-serif
}

iframe {
    border: 0
}

main {
    display: block
}

ul,
ol {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0
}

li {
    display: block;
    list-style-type: none
}

dl {
    margin-top: 0;
    margin-bottom: 0
}

dd {
    margin-left: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: inherit
}

blockquote {
    margin: 0;
    padding: 0
}

p {
    margin-top: 0;
    margin-bottom: 0
}

sup {
    position: relative;
    top: -.5em;
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0
}

strong {
    font-weight: 600
}

figure {
    margin: 0
}

img {
    border: 0;
    max-width: 100%;
    height: auto;
    vertical-align: middle
}

a {
    text-decoration: none;
    color: inherit
}

button {
    border: 0;
    margin: 0;
    padding: 0;
    text-align: inherit;
    text-transform: inherit;
    font: inherit;
    -webkit-font-smoothing: inherit;
    letter-spacing: inherit;
    background: none;
    cursor: pointer;
    overflow: visible
}

::-moz-focus-inner {
    border: 0;
    padding: 0
}

* {
    box-sizing: border-box
}

input[type=text],
input[type=tel],
input[type=email],
textarea {
    -webkit-appearance: none
}

.App__ContactForm {
    display: inline-block;
    margin-left: 100px;
    width: 400px;
    margin-top: 22vh
}

@media only screen and (max-width: 625px) {
    .App__ContactForm {
        margin-left: 0;
        width: 84vw;
        margin-top: 100px;
        position: absolute;
        right: 4%
    }
}

.App__ContactForm textarea {
    overflow: auto
}

.App__ContactForm input:-webkit-autofill,
.App__ContactForm textarea:-webkit-autofill {
    -webkit-text-fill-color: #949799;
    -webkit-box-shadow: 0 0 0px 1000px #000000 inset
}

.App__ContactForm input:-webkit-autofill:focus,
.App__ContactForm textarea:-webkit-autofill:focus {
    -webkit-text-fill-color: white
}

.App__ContactForm .App__ContactFormHeader {
    color: #fff;
    font-size: 42px
}

.App__ContactForm .ContactForm__BtnBack {
    display: none;
    color: #949799;
    font-size: 14px;
    position: absolute;
    top: -57px;
    left: -22px
}

@media only screen and (max-width : 767px) {
    .App__ContactForm .ContactForm__BtnBack {
        display: block
    }
}

@media only screen and (max-width : 320px) {
    .App__ContactForm .ContactForm__BtnBack {
        left: -5px
    }
}

.App__ContactForm .App__MainForm {
    width: 100%
}

.App__ContactForm .App__MainForm__InputGroup {
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 16px 0;
    padding-top: 12px
}

.App__ContactForm .App__MainForm__InputGroup label {
    font-family: DroteskNo5-Medium;
    color: #949799;
    -webkit-transition: all .25s;
    -moz-transition: all .25s;
    -ms-transition: all .25s;
    -o-transition: all .25s;
    transform: translateY(0);
    font-size: 12px;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0
}

[data-lang=ja] .App__ContactForm .App__MainForm__InputGroup label {
    font-family: NotoSansJP-Medium
}

.App__ContactForm .App__MainForm__InputGroup .App__MainForm__InputError {
    font-size: 13px;
    color: #ef4346;
    padding-top: 6px
}

.App__ContactForm .App__MainForm__InputGroup--Dropdown,
.App__ContactForm .App__MainForm__InputGroup--Dropdown .dropdown {
    margin-bottom: 0
}

.App__ContactForm .App__MainForm__InputGroup--Dropdown .dropdown__label {
    padding: 10px 0
}

.App__ContactForm .App__MainForm__InputGroup--Dropdown .dropdown.chosen .dropdown__label {
    color: #fff
}

.App__ContactForm .App__MainForm__InputGroup--Dropdown .dropdown.open+* {
    display: none
}

.App__ContactForm .App__MainForm__Input {
    -webkit-transition: all .25s;
    -moz-transition: all .25s;
    -ms-transition: all .25s;
    -o-transition: all .25s;
    border-radius: 0;
    font-family: DroteskNo5-Medium;
    width: 100%;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 14px;
    padding: 8px 0;
    border-bottom: 2px solid #2e2e2e
}

[data-lang=ja] .App__ContactForm .App__MainForm__Input {
    font-family: NotoSansJP-Medium
}

.App__ContactForm .App__MainForm__Input::-moz-placeholder {
    color: transparent
}

.App__ContactForm .App__MainForm__Input::placeholder {
    color: transparent
}

.App__ContactForm .App__MainForm__Input:-moz-placeholder-shown+label {
    transform: translateY(21px);
    font-size: 14px
}

.App__ContactForm .App__MainForm__Input:placeholder-shown+label {
    transform: translateY(21px);
    font-size: 14px
}

.App__ContactForm .App__MainForm__Input:focus {
    border-bottom: 2px solid #0000D5;
    color: #fff;
    outline: none
}

.App__ContactForm .App__MainForm__Input:focus:-moz-placeholder-shown+label {
    transform: translateY(0);
    font-size: 12px;
    pointer-events: all
}

.App__ContactForm .App__MainForm__Input:focus:placeholder-shown+label,
.App__ContactForm .App__MainForm__Input:focus+label {
    transform: translateY(0);
    font-size: 12px;
    pointer-events: all
}

.App__ContactForm .App__MainForm__Input.invalid {
    border-bottom: 2px solid #EF4346
}

.App__ContactForm .App__MainForm__Input.valid {
    border-bottom: 2px solid #5FE574
}

.App__ContactForm .App__MainForm__TextArea {
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    -o-transition: all .2s;
    border-radius: 0;
    width: 100%;
    border: 2px solid #2e2e2e;
    color: #fff;
    background: transparent;
    resize: none;
    font-size: 14px;
    padding: 15px;
    font-family: DroteskNo5-Medium
}

[data-lang=ja] .App__ContactForm .App__MainForm__TextArea {
    font-family: NotoSansJP-Medium
}

.App__ContactForm .App__MainForm__TextArea:focus {
    border: 2px solid #0000D5;
    color: #fff;
    outline: none
}

.App__ContactForm .App__MainForm__TextArea.invalid {
    border: 2px solid #EF4346
}

.App__ContactForm .App__MainForm__TextArea.valid {
    border: 2px solid #5FE574
}

.App__ContactForm .App__MainForm__Submit {
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    -o-transition: all .2s;
    font-family: DroteskNo5-Medium;
    color: #fff;
    font-size: 16px;
    background-color: #2e2e2e;
    padding: 15px 32px;
    position: relative
}

[data-lang=ja] .App__ContactForm .App__MainForm__Submit {
    font-family: NotoSansJP-Medium
}

.App__ContactForm .App__MainForm__Submit.inactive {
    opacity: .5;
    pointer-events: none
}

.App__ContactForm .App__MainForm__Submit:after {
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    -o-transition: all .2s;
    content: url("data:image/svg+xml; utf8, %0A%3Csvg%20width%3D%225px%22%20height%3D%228px%22%20viewBox%3D%220%200%205%208%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3C!--%20Generator%3A%20Sketch%2048.1%20(47250)%20-%20http%3A%2F%2Fwww.bohemiancoding.com%2Fsketch%20--%3E%0A%20%20%20%20%3Cdesc%3ECreated%20with%20Sketch.%3C%2Fdesc%3E%0A%20%20%20%20%3Cdefs%3E%3C%2Fdefs%3E%0A%20%20%20%20%3Cg%20id%3D%22Symbols%22%20stroke%3D%22none%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%20%20%20%20%3Cg%20id%3D%22Submit-(active-and-hover)%22%20transform%3D%22translate(-112.000000%2C%20-19.000000)%22%20stroke%3D%22%23FFFFFF%22%20stroke-width%3D%221.5%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20id%3D%22arrow%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20transform%3D%22translate(52.000000%2C%200.000000)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20id%3D%22Right%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M59.9751263%2C21.4843146%20L62.7458369%2C24.2550253%20L62.7458369%2C21.4843146%20L59.9751263%2C21.4843146%20Z%22%20id%3D%22Rectangle-8%22%20transform%3D%22translate(60.830152%2C%2023.400000)%20rotate(-315.000000)%20translate(-60.830152%2C%20-23.400000)%20%22%3E%3C%2Fpath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E");
    display: block;
    width: 22px;
    height: 10px;
    position: absolute;
    right: 8px;
    top: 20px;
    opacity: 0
}

.App__ContactForm .App__MainForm__Submit:hover {
    background-color: #0000d5
}

.App__ContactForm .App__MainForm__Submit:hover:after {
    right: 0;
    opacity: 1
}

.App__ContactForm_Success {
    font-size: 14px;
    color: #5fe574;
    margin-left: 15px;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .App__ContactForm_Success {
    font-family: NotoSansJP-Regular
}

.App__ContactForm_Error {
    font-size: 14px;
    color: red;
    margin-left: 15px;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .App__ContactForm_Error {
    font-family: NotoSansJP-Regular
}

.App__ContactForm_SubmitHolder {
    margin-top: 20px;
    display: flex;
    align-items: center
}

.AppFooter {
    --backgroundColor: white;
    --primaryContentColor: black;
    --secondaryContentColor: #949799;
    --borderColor: #F0F2F5;
    width: 100%;
    height: 80px;
    background: var(--backgroundColor);
    border-top: 1px solid var(--borderColor);
    color: var(--secondaryContentColor);
    font-size: 14px;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .AppFooter {
    font-family: NotoSansJP-Regular
}

.AppFooter.dark {
    --backgroundColor: black;
    --primaryContentColor: white;
    --secondaryContentColor: #959595;
    --borderColor: #2e2e2e
}

@media only screen and (max-width : 1024px) {
    .AppFooter {
        height: 130px
    }
}

@media only screen and (max-width : 767px) {
    .AppFooter {
        height: auto
    }
}

.AppFooter .AppFooter__Inner {
    height: 100%;
    align-items: center;
    padding: 8px 35px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between
}

@media only screen and (max-width : 767px) {
    .AppFooter .AppFooter__Inner {
        height: auto;
        padding: 24px 16px
    }
}

@media only screen and (max-width : 1024px) {
    .AppFooter .AppFooter__Copyright {
        width: 100%;
        text-align: center
    }
}

@media only screen and (max-width : 767px) {
    .AppFooter .AppFooter__Copyright {
        display: none
    }
}

.AppFooter .AppFooter__Copyright--tablet {
    display: none;
    flex: 0 0 auto;
    margin: 10px auto 0;
    padding-bottom: 10px
}

@media only screen and (max-width : 767px) {
    .AppFooter .AppFooter__Copyright--tablet {
        display: block;
        font-size: 10px
    }
}

.AppFooter .AppFooter__LinkContainer {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap
}

@media only screen and (max-width : 1024px) {
    .AppFooter .AppFooter__LinkContainer {
        width: 100%;
        justify-content: center
    }
}

.AppFooter .AppFooter__SocialContainer {
    margin-left: auto;
    margin-right: 20px
}

@media only screen and (max-width : 1024px) {
    .AppFooter .AppFooter__SocialContainer {
        margin: 0 0 20px;
        flex-basis: 100%;
        text-align: center
    }
}

@media only screen and (max-width : 767px) {
    .AppFooter .AppFooter__SocialContainer {
        margin: 0 auto 20px
    }
}

.AppFooter .AppFooter__Social {
    transition: all .2s;
    width: 22px;
    height: 22px;
    display: inline-block;
    margin: 0 10px;
    fill: var(--secondaryContentColor);
    cursor: pointer
}

@media only screen and (max-width : 767px) {
    .AppFooter .AppFooter__Social {
        width: 30px;
        height: 30px
    }
}

@media only screen and (min-width : 1025px) {
    .AppFooter .AppFooter__Social:hover {
        fill: #0000d5;
        transform: scale(1.1)
    }
}

.AppFooter .AppFooter__Social:visited {
    fill: var(--secondaryContentColor)
}

.AppFooter .AppFooter__Link {
    margin-left: 20px;
    color: var(--primaryContentColor);
    cursor: pointer;
    transition: color .3s
}

.AppFooter .AppFooter__Link button {
    color: inherit
}

.AppFooter .AppFooter__Link:hover,
.AppFooter .AppFooter__Link:hover span,
.AppFooter .AppFooter__Link:hover button {
    color: #0000d5
}

@media only screen and (max-width : 767px) {
    .AppFooter .AppFooter__Link {
        width: 100%;
        text-align: center;
        margin: 15px auto
    }
}

body.AppMenuOpen .AppHeader .AppHeader__Multisite {
    --contentColor: white
}

body.AppMenuOpen .AppHeader .AppHeader__Multisite .Flyout button[aria-expanded=true] {
    --contentColor: black
}

body.AppMenuOpen .AppHeader.dark .AppHeader__Multisite .Flyout button[aria-expanded=true],
body.AppMenuOpen .AppHeader.fixed .AppHeader__Multisite .Flyout button[aria-expanded=true] {
    --contentColor: white
}

body.AppMenuOpen .AppHeader .AppHeader__MenuBtn.active .Line1,
body.AppMenuOpen .AppHeader .AppHeader__MenuBtn.active .Line2 {
    --backgroundColor: white
}

.AppHeader {
    --backgroundColor: white;
    --contentColor: black;
    --borderColor: #F4F4F4;
    transition: background-color .3s ease-out;
    z-index: 1001;
    position: absolute;
    width: 100vw;
    height: 100px;
    clear: both;
    top: 0
}

.AppHeader.dark {
    --backgroundColor: black;
    --contentColor: white;
    --borderColor: black
}

@media only screen and (max-width : 767px) {
    .AppHeader {
        height: 64px
    }
}

.AppHeader .AppHeader__Background {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0
}

.AppHeader.dark .AppHeader__Background {
    background-color: var(--backgroundColor);
    border-bottom: 1px solid var(--borderColor)
}

.AppHeader.fixed {
    position: fixed;
    width: 100%
}

.AppHeader.fixed :not(body.AppMenuOpen) .AppHeader__Background {
    background-color: var(--backgroundColor);
    border-bottom: 1px solid var(--borderColor)
}

.AppHeader .AppHeader__Inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 33px;
    gap: .5rem
}

@media only screen and (max-width : 1024px) {
    .AppHeader .AppHeader__Inner {
        width: 90%;
        max-width: 1160px;
        margin: 0 auto
    }

    .AppHeader .AppHeader__Inner.Full-Height {
        height: 100%
    }
}

@media only screen and (max-width : 1024px) and only screen and (max-width : 1024px) {
    .AppHeader .AppHeader__Inner {
        width: 90%
    }
}

@media only screen and (max-width : 1024px) and only screen and (max-width : 767px) {
    .AppHeader .AppHeader__Inner {
        width: 90%
    }
}

@media only screen and (max-width : 1024px) and only screen and (max-width : 1024px) {
    .AppHeader .AppHeader__Inner.Full-Tablet {
        width: 100%
    }
}

@media only screen and (min-width : 1025px) {
    .AppHeader .AppHeader__Inner {
        margin: 0 32px
    }
}

@media only screen and (max-width : 767px) {
    .AppHeader .AppHeader__Inner {
        padding-top: 8px
    }
}

.AppHeader .AppHeader__Logo {
    width: 232px;
    cursor: pointer;
    pointer-events: all
}

.AppHeader .AppHeader__Logo__Full {
    display: block;
    padding-top: 12px
}

.AppHeader .AppHeader__Logo svg {
    width: 100%
}

.AppHeader .AppHeader__Logo svg path {
    fill: var(--contentColor)
}

@media only screen and (max-width : 767px) {
    .AppHeader .AppHeader__Logo {
        width: 100%
    }

    .AppHeader .AppHeader__Logo__Full {
        height: 48px;
        padding-top: 8px
    }
}

@media only screen and (max-width : 320px) {
    .AppHeader .AppHeader__Logo {
        width: 100%
    }
}

@media only screen and (min-width : 1025px) {
    .AppHeader .AppHeader__Logo svg path {
        -webkit-transition: all .3s;
        -moz-transition: all .3s;
        -ms-transition: all .3s;
        -o-transition: all .3s
    }

    .AppHeader .AppHeader__Logo:hover svg path {
        fill: #0000d5
    }
}

.AppHeader .AppHeader__Multisite {
    padding-right: 12px;
    display: flex;
    gap: 3.5rem;
    font-family: DroteskNo5-Medium;
    font-size: 14px
}

[data-lang=ja] .AppHeader .AppHeader__Multisite {
    font-family: NotoSansJP-Medium
}

@media only screen and (max-width : 767px) {
    .AppHeader .AppHeader__Multisite {
        width: auto;
        gap: 0
    }
}

@media only screen and (max-width : 320px) {
    .AppHeader .AppHeader__Multisite {
        width: auto
    }
}

.AppHeader .AppHeader__Multisite .Flyout button {
    color: var(--contentColor)
}

.AppHeader .AppHeader__Multisite .Flyout button svg path {
    stroke: var(--contentColor)
}

.AppHeader .AppHeader__Multisite .Flyout button[aria-expanded=true] {
    background-color: var(--backgroundColor);
    color: var(--contentColor);
    border-color: var(--borderColor)
}

.AppHeader .AppHeader__Multisite .Flyout button[aria-expanded=true] svg path {
    stroke: var(--contentColor)
}

.AppHeader .AppHeader__Multisite .Flyout ul {
    background: var(--backgroundColor);
    border-color: var(--borderColor)
}

.AppHeader .AppHeader__Multisite .AppHeader__MenuBtn {
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -ms-transition: all .3s;
    -o-transition: all .3s;
    margin-left: 10px;
    cursor: pointer;
    pointer-events: all
}

.AppHeader .AppHeader__Multisite .AppHeader__MenuBtn button {
    padding: 10px 6px
}

.AppHeader .AppHeader__Multisite .AppHeader__MenuBtn .Line1,
.AppHeader .AppHeader__Multisite .AppHeader__MenuBtn .Line2 {
    transition: all .5s cubic-bezier(.19, 1, .22, 1);
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
    transform-origin: 50% 50%;
    width: 20px;
    height: 2px;
    background-color: var(--contentColor)
}

.AppHeader .AppHeader__Multisite .AppHeader__MenuBtn .Line1.close {
    transform: rotate(-45deg) translate(-2px, 2px);
    width: 14px
}

.AppHeader .AppHeader__Multisite .AppHeader__MenuBtn .Line2 {
    margin-top: 4px
}

.AppHeader .AppHeader__Multisite .AppHeader__MenuBtn .Line2.close {
    transform: rotate(45deg) translate(-2px, -2px);
    width: 14px
}

.AppHeader .AppHeader__Multisite .AppHeader__MenuBtn.active .Line1,
.AppHeader .AppHeader__Multisite .AppHeader__MenuBtn.active .Line2 {
    background-color: var(--backgroundColor)
}

.AppHeader.transparent {
    --contentColor: white
}

.AppHeader.transparent:not(.dark) .AppHeader__Multisite .Flyout button[aria-expanded=true] {
    --contentColor: black
}

.AppMenu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    width: 283px;
    height: 100%;
    background-color: #000;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

.AppMenu::-webkit-scrollbar {
    display: none
}

.AppMenu .AppMenu__Multisite {
    display: none;
    position: absolute;
    border-collapse: separate;
    font-family: DroteskNo5-Medium;
    font-size: 14px;
    right: 68px;
    top: 30px
}

[data-lang=ja] .AppMenu .AppMenu__Multisite {
    font-family: NotoSansJP-Medium
}

@media only screen and (max-width : 767px) {
    .AppMenu .AppMenu__Multisite {
        display: table
    }
}

.AppMenu .AppMenu__MultisiteBtn {
    display: table-cell;
    font-size: 14px;
    color: #949799;
    margin-right: 10rem;
    cursor: pointer;
    width: 40px;
    height: 40px;
    vertical-align: middle;
    text-align: center;
    border-spacing: 5px
}

.AppMenu .AppMenu__MultisiteBtn.active {
    text-decoration: none;
    color: #f4f8fa;
    background-color: #fff
}

.AppMenu .AppMenu__Column {
    display: inline-block;
    vertical-align: top
}

.AppMenu .AppMenu__LanguageSelector select {
    color: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    background: #000
}

.AppMenu .AppMenu__ButtonContainer {
    display: inline-block;
    margin-top: 20vh;
    margin-left: 92px;
    width: 110px;
    border-bottom: 1px solid #737475
}

.AppMenu .AppMenu__Btn {
    color: #fff;
    font-size: 22px;
    font-family: DroteskNo5-Regular;
    margin: 37px 0;
    position: relative;
    cursor: pointer;
    width: -moz-min-content;
    width: min-content;
    white-space: nowrap;
    padding-right: 6px
}

[data-lang=ja] .AppMenu .AppMenu__Btn {
    font-family: NotoSansJP-Regular
}

.AppMenu .AppMenu__Btn button {
    color: #fff;
    font-size: 22px;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .AppMenu .AppMenu__Btn button {
    font-family: NotoSansJP-Regular
}

.AppMenu .AppMenu__Btn.dark {
    color: #2e2e2e
}

.AppMenu .AppMenu__Btn .AppMenu__Arrow {
    transition: all .2s;
    width: 12px;
    height: 20px;
    position: absolute;
    top: 7px;
    right: -28px;
    stroke: #fff
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .AppMenu .AppMenu__Btn .AppMenu__Arrow {
        top: 4px
    }
}

.AppMenu .AppMenu__Btn.hasHover:before {
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    -o-transition: all .2s;
    content: "";
    position: absolute;
    width: 0%;
    z-index: -1;
    top: 10px;
    height: 9px;
    background-color: #0000d5
}

.AppMenu .AppMenu__Btn.hasHover:hover {
    color: #fff
}

.AppMenu .AppMenu__Btn.hasHover:hover:before {
    width: 100%
}

.AppMenu .AppMenu__Btn.hasHover:hover .AppMenu__Arrow {
    right: -32px
}

.AppMenu .AppMenu__Contact {
    margin-left: 92px;
    width: 115px;
    font-size: 12px;
    line-height: 18px;
    color: #949799;
    margin-top: 20px;
    padding-bottom: 50px
}

.Overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .3;
    z-index: 999
}

.dropdown {
    position: relative;
    width: 100%;
    margin-bottom: .6em;
    font-size: 14px;
    font-family: DroteskNo5-Medium
}

[data-lang=ja] .dropdown {
    font-family: NotoSansJP-Medium
}

.dropdown__label {
    padding: 14px 0;
    cursor: pointer;
    color: #949799;
    border: none
}

.dropdown__label.invalid {
    color: #ef4346
}

.dropdown__label-arrow {
    transition: all .2s;
    width: 10px;
    height: 10px;
    margin-left: 5px;
    transform: translateY(2px);
    transform-origin: 50% 50%
}

.dropdown__list {
    transition: opacity .1s ease-in, height .4s cubic-bezier(.97, -.28, .24, 1.46);
    position: relative;
    height: 0;
    width: 100%;
    overflow: hidden;
    z-index: 1
}

.dropdown__list::-webkit-scrollbar {
    display: none
}

.dropdown__list ul {
    list-style-type: none;
    padding: 0;
    margin: 0
}

.dropdown__item {
    transition: background-color .1s ease-in;
    padding: 2px 0 2px 10px;
    cursor: pointer;
    width: 21rem;
    color: #949799
}

.dropdown__item:hover {
    color: #0000d5
}

.dropdown__item+.dropdown__item {
    margin-top: .5rem
}

.dropdown.open .dropdown__list {
    height: auto
}

.dropdown.open .dropdown__label-arrow {
    transform: rotate(-180deg) translateY(-1px);
    transform-origin: 50% 50%
}

.dropdown.dropdown.dropdown--styled .dropdown__label {
    color: #fff
}

.dropdown.dropdown.dropdown--styled .dropdown__item {
    padding-left: 0
}

.SiteMain {
    position: relative;
    overflow: hidden;
    min-height: 100%
}

.SiteMain:empty {
    content-visibility: none;
    display: none
}

.BehindTheScenes__CTA {
    width: 68px;
    height: 68px;
    background-color: #000;
    border-radius: 50%;
    position: absolute;
    display: flex;
    align-items: center;
    cursor: pointer;
    top: -18px;
    right: -80px
}

.BehindTheScenes__CTA svg {
    margin: 0 auto
}

@media only screen and (max-width : 1024px) {
    .BehindTheScenes__CTA {
        width: 45px;
        height: 45px;
        right: -50px
    }
}

@media only screen and (max-width : 767px) {
    .BehindTheScenes__CTA {
        right: 30px;
        top: auto;
        bottom: 20px
    }
}

@media only screen and (min-width : 1025px) {
    .BehindTheScenes__CTA {
        transition: background-color .3s
    }

    .BehindTheScenes__CTA:hover {
        background-color: #0000d5
    }
}

.BehindTheScenes {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1010
}

.BehindTheScenes__Container {
    position: relative;
    width: 100%;
    height: 100%
}

.BehindTheScenes__BG {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .6;
    z-index: 1
}

.BehindTheScenes__Flyout {
    position: fixed;
    width: 60%;
    max-width: 900px;
    height: 100%;
    background-color: #fff;
    z-index: 2;
    right: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none
}

@media only screen and (max-width : 767px) {
    .BehindTheScenes__Flyout {
        width: 90%
    }
}

.BehindTheScenes__BtnClose {
    position: absolute;
    z-index: 10;
    width: 68px;
    height: 68px;
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid #D1D1D1;
    display: flex;
    align-items: center;
    cursor: pointer;
    top: 25px;
    right: 25px
}

.BehindTheScenes__BtnClose svg {
    margin: 0 auto
}

@media only screen and (max-width : 1024px) {
    .BehindTheScenes__BtnClose {
        width: 45px;
        height: 45px
    }
}

@media only screen and (min-width : 1025px) {
    .BehindTheScenes__BtnClose {
        transition: all .3s
    }

    .BehindTheScenes__BtnClose path {
        transition: all .3s
    }

    .BehindTheScenes__BtnClose:hover {
        background-color: #0000d5;
        border: 1px solid #0000D5
    }

    .BehindTheScenes__BtnClose:hover path {
        stroke: #fff
    }
}

.BehindTheScenes__Content {
    position: relative;
    width: 100%;
    height: 100%
}

.BehindTheScenes__ImageGallery {
    position: relative;
    width: 100%;
    overflow-x: hidden
}

.BehindTheScenes__Slider {
    min-width: 100%;
    display: inline-flex;
    flex-wrap: nowrap;
    pointer-events: none
}

.BehindTheScenes__Image {
    width: 100%;
    position: relative
}

.BehindTheScenes__Image:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 63.44086022%
}

.BehindTheScenes__Controls {
    display: flex;
    align-items: center;
    margin: 20px auto 40px;
    width: 250px;
    width: -moz-max-content;
    width: max-content
}

.BehindTheScenes__LabelCurrentImg {
    color: #000;
    margin: 0 15px
}

.BehindTheScenes__BtnPrev,
.BehindTheScenes__BtnNext {
    transition: all .2s;
    width: 35px;
    height: 35px;
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid #D1D1D1;
    cursor: pointer;
    stroke: #949799
}

.BehindTheScenes__BtnPrev.inactive,
.BehindTheScenes__BtnNext.inactive {
    border: 1px solid #D1D1D1;
    stroke: #949799;
    opacity: .7;
    pointer-events: none
}

@media only screen and (min-width : 1025px) {

    .BehindTheScenes__BtnPrev:hover,
    .BehindTheScenes__BtnNext:hover {
        border: 1px solid #0000D5;
        stroke: #0000d5
    }
}

.BehindTheScenes__TextContent {
    width: 52%;
    max-width: 415px;
    margin: 0 auto
}

@media only screen and (max-width : 767px) {
    .BehindTheScenes__TextContent {
        width: 80%;
        margin-bottom: 50px
    }
}

.BehindTheScenes__Title {
    margin-bottom: 20px
}

:root {
    --carousel-count: 8;
    --carousel-item-width: 25%
}

@media only screen and (max-width : 767px) {
    :root {
        --carousel-item-width: 75%
    }
}

.Carousel {
    width: 100%;
    padding: 30px 0;
    overflow: hidden
}

.Carousel__Container {
    white-space: nowrap;
    will-change: transform;
    animation: 30s linear 0s infinite normal none slide
}

.Carousel__Container:hover {
    animation-play-state: paused
}

.Carousel__Item {
    width: var(--carousel-item-width);
    padding: 0 15px;
    display: inline-block
}

@keyframes slide {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(calc(var(--carousel-item-width) * var(--carousel-count) * -1))
    }
}

.Flyout {
    --flyoutChevronWidth: 12px;
    --flyoutPadding: 1.2rem;
    --flyoutFontSize: 14px;
    position: relative
}

@media only screen and (max-width : 767px) {
    .Flyout {
        --flyoutPadding: 1rem;
        --flyoutFontSize: 12px
    }
}

.Flyout button {
    font-size: var(--flyoutFontSize);
    line-height: 1.2;
    padding: var(--flyoutPadding) calc(var(--flyoutPadding) * 1.5);
    padding-left: calc(var(--flyoutPadding) * 2);
    display: flex;
    align-items: baseline;
    white-space: nowrap;
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: transparent;
    text-align: right;
    justify-content: flex-end;
    min-width: 146px;
    color: #000
}

@media only screen and (max-width : 767px) {
    .Flyout button {
        padding: var(--flyoutPadding) var(--flyoutPadding);
        min-width: 116px
    }
}

.Flyout button svg {
    transition: all .2s ease;
    width: var(--flyoutChevronWidth);
    height: 10px;
    margin-left: var(--flyoutPadding);
    transform: scaleY(-1)
}

.Flyout button[aria-expanded=true] {
    border-color: #f4f8fa
}

.Flyout button[aria-expanded=true] svg {
    transform: scaleY(1)
}

.Flyout ul {
    display: none;
    position: absolute;
    top: 100%;
    width: 100%;
    border-radius: 0 0 2px 2px;
    padding-bottom: .5rem;
    background: #fff;
    border-width: 0 1px 1px 1px;
    border-style: solid;
    border-color: #f4f8fa
}

.Flyout ul li a {
    display: block;
    padding: var(--flyoutPadding) calc(var(--flyoutPadding) * 1.5);
    padding-right: calc(var(--flyoutChevronWidth) + (var(--flyoutPadding) * 2.5));
    text-align: right;
    white-space: nowrap;
    font-size: var(--flyoutFontSize);
    color: #959595
}

@media only screen and (max-width : 767px) {
    .Flyout ul li a {
        padding: var(--flyoutPadding) var(--flyoutPadding);
        padding-right: calc(var(--flyoutChevronWidth) + (var(--flyoutPadding) * 2))
    }
}

.Flyout ul li a:hover,
.Flyout ul li a:focus {
    color: #0000d5
}

.Flyout ul.is-active {
    display: block
}

.AppMenuOpen .Flyout button,
.AppMenuOpen .Flyout ul,
.AppMenuOpen .Flyout li {
    color: #fff
}

.AppMenuOpen .Flyout a {
    color: #959595
}

.AppMenuOpen .Flyout svg>path {
    fill: #fff;
    stroke: #fff
}

.AppMenuOpen .Flyout button[aria-expanded=true] {
    color: #000;
    background: #fff;
    border-radius: 2px 2px 0 0
}

.AppMenuOpen .Flyout button[aria-expanded=true] svg>path {
    fill: #000;
    stroke: #000
}

.Heading {
    font-weight: 600
}

.Heading--Primary {
    font-size: 1.5rem
}

.Heading--Primary--FontSizeLarge {
    font-size: 2.25rem
}

.Heading--Secondary {
    font-size: 1rem
}

.ImgixImage {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden
}

.ImgixImage img {
    position: absolute;
    width: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.ImgixImage img:nth-child(1) {
    z-index: 2
}

.ImgixImage.isRelative {
    position: relative
}

.ImgixImage.isRelative:not(.hasBlurryBackground) img:nth-child(1) {
    position: relative
}

.ImgixImage.isRelative.hasBlurryBackground img:nth-child(1) {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.ImgixImage.isRelative.hasBlurryBackground .blurryBackground {
    position: relative
}

.Loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1040
}

.Loader__Container {
    width: 240px;
    position: relative
}

.Loader__Bar {
    width: 60px;
    height: 6px;
    background-color: #000
}

.Loader__Text {
    color: #f4f4f4;
    font-size: 42px;
    letter-spacing: -.5px;
    font-family: DroteskNo5-Bold;
    font-weight: 700;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    white-space: nowrap
}

[data-lang=ja] .Loader__Text {
    font-family: NotoSansJP-Bold
}

.PeopleGridItem {
    margin-bottom: 60px
}

@media only screen and (max-width : 767px) {
    .PeopleGridItem {
        margin-bottom: 40px
    }
}

.PeopleGridItem__Image {
    position: relative;
    padding-bottom: 63.65%;
    margin-bottom: 12px
}

.PeopleGridItem__Name {
    font-family: DroteskNo5-Medium;
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 2px
}

[data-lang=ja] .PeopleGridItem__Name {
    font-family: NotoSansJP-Medium
}

.PeopleGridItem__NameExtra {
    font-family: DroteskNo5-Bold;
    font-size: 16px;
    line-height: 21px;
    margin-bottom: 6px;
    letter-spacing: .03em
}

[data-lang=ja] .PeopleGridItem__NameExtra {
    font-family: NotoSansJP-Bold
}

.PeopleGridItem__JobTitle {
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .PeopleGridItem__JobTitle {
    font-family: NotoSansJP-Regular
}

.PeopleComponent {
    margin: 85px 0;
    height: 480px
}

@media only screen and (max-width : 1024px) {
    .PeopleComponent {
        height: 340px;
        margin: 60px 0
    }
}

@media only screen and (max-width : 767px) {
    .PeopleComponent {
        height: auto;
        margin: 0
    }

    .PeopleComponent .Container>.Row>* {
        width: 100%
    }
}

@media only screen and (max-width : 320px) {
    .PeopleComponent {
        height: 180vw;
        margin: 50px 0
    }
}

.PeopleComponent .PeopleComponent__Image {
    position: relative
}

.PeopleComponent .People__Loading {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 6px;
    background-color: #fff;
    margin-left: -120px
}

@media only screen and (max-width : 767px) {
    .PeopleComponent .PeopleComponent__Detail {
        margin-bottom: 30px
    }
}

.PeopleComponent .PeopleComponent__Name {
    margin: 10px 0 6px
}

.PeopleComponent .PeopleComponent__Title {
    color: #000
}

.PeopleComponent .PeopleComponent__Names {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-self: start;
    height: 100%;
    height: 500px
}

@media only screen and (max-width : 1024px) {
    .PeopleComponent .PeopleComponent__Names {
        height: 340px
    }
}

@media only screen and (max-width : 767px) {
    .PeopleComponent .PeopleComponent__Names {
        order: 2
    }
}

.PeopleComponent .PeopleComponent__Button {
    font-size: 16px;
    font-family: DroteskNo5-Regular;
    color: #000;
    width: 33%;
    margin-bottom: 20px;
    line-height: 20px;
    cursor: pointer;
    transition: color .3s
}

[data-lang=ja] .PeopleComponent .PeopleComponent__Button {
    font-family: NotoSansJP-Regular
}

.PeopleComponent .PeopleComponent__Button:hover,
.PeopleComponent .PeopleComponent__Button:hover span,
.PeopleComponent .PeopleComponent__Button:hover button {
    color: #0000d5
}

@media only screen and (max-width : 1024px) {
    .PeopleComponent .PeopleComponent__Button {
        width: 50%;
        font-size: 14px;
        margin-bottom: 11px
    }
}

@media only screen and (max-width : 767px) {
    .PeopleComponent .PeopleComponent__Button {
        margin-right: 5%
    }
}

.SubmitButton {
    font-family: DroteskNo5-Medium;
    color: #fff;
    font-size: 16px;
    background-color: #2e2e2e;
    padding: 25px 30px;
    position: relative;
    cursor: pointer;
    line-height: 0;
    width: 110px
}

[data-lang=ja] .SubmitButton {
    font-family: NotoSansJP-Medium
}

.SubmitButton:hover {
    transition: all .2s;
    background-color: #0000d5
}

.SubmitButton.animating {
    pointer-events: none;
    background-color: transparent
}

.SubmitButton.animating .App__MainForm__Submit__Text {
    display: none
}

.SubmitButton.inactive {
    opacity: .5;
    pointer-events: none
}

.SubmitButton__Loader {
    top: 0;
    left: 0;
    position: absolute;
    background-color: #0000d5;
    width: 100%;
    height: 100%
}

.Reel__video {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    overflow: hidden
}

.Reel__video.fullscreen {
    width: 100%
}

.vimeo-player {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.vimeo-player iframe {
    height: 100%;
    width: 100%
}

.vimeo-player+.VideoBlock__Caption,
video+.VideoBlock__Caption {
    position: absolute;
    bottom: -30px
}

.stop {
    top: 10%
}

.control-panel {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 50px;
    background: #000c;
    bottom: 0;
    left: 0;
    padding: 0;
    margin: 0
}

.event-layer {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0
}

.progress-bar {
    position: relative;
    height: 9px;
    top: -8px;
    left: 0;
    width: 100%;
    background-color: #fff;
    padding: 0
}

.progress-value {
    position: absolute;
    height: 9px;
    z-index: 2;
    width: 50%;
    background-color: #4545db;
    padding: 1px;
    top: -.5px
}

.progress-dot {
    position: absolute;
    width: 9px;
    height: 20px;
    background-color: #ffa4df;
    z-index: 3;
    top: -5px;
    cursor: pointer
}

.btn-play {
    position: absolute;
    left: 40px;
    top: 17px;
    width: 20px;
    cursor: pointer
}

.volume {
    position: absolute;
    left: 120px;
    top: 13px
}

.btn-volume {
    cursor: pointer
}

.volume-bar {
    width: 83px;
    height: 4px;
    background-color: #1d1d1d;
    position: absolute;
    left: 40px;
    top: 12px
}

.volume-bar-current {
    width: 50%;
    height: 4px;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 0
}

.volume-bar-drag {
    position: absolute;
    z-index: 3;
    width: 100%;
    height: 100%;
    cursor: pointer;
    padding: 20px
}

.label-time {
    position: absolute;
    color: #fff;
    font-size: 18px;
    right: 100px;
    top: 14px;
    pointer-events: none
}

.btn-fullscreen {
    position: absolute;
    right: 20px;
    top: 13px;
    cursor: pointer
}

.btn-fullscreen:hover {
    transform: scale(1.05)
}

.password {
    font-family: DroteskNo5-Medium;
    font-size: 16px;
    font-weight: 400;
    margin: 50px auto;
    text-align: center
}

[data-lang=ja] .password {
    font-family: NotoSansJP-Medium
}

.password__box {
    padding: 10px 15px;
    font-size: inherit;
    margin-left: 10px;
    margin-top: 30px
}

.password__btn {
    background-color: #000;
    color: #fff;
    border: none;
    padding: 10px;
    font-family: inherit;
    font-size: inherit;
    margin-left: 10px;
    cursor: pointer
}

.Grid {
    display: flex;
    flex-wrap: wrap
}

.Grid--VerticalAlignTop {
    align-items: flex-start
}

.Grid--VerticalAlignBottom {
    align-items: flex-end
}

.Grid--VerticalAlignCenter {
    align-items: center
}

.Grid--HorizontalAlignCenter {
    justify-content: center
}

.Grid--HorizontalAlignJustify {
    justify-content: space-between
}

.Grid--SpacingSmall {
    margin: -.5rem 0 0 -.5rem
}

.Grid--SpacingSmall>.Grid__Cell {
    padding: .5rem 0 0 .5rem
}

.Grid--SpacingMedium {
    margin: -1rem 0 0 -1rem
}

.Grid--SpacingMedium>.Grid__Cell {
    padding: 1rem 0 0 1rem
}

.Grid--SpacingLarge {
    margin: -1.5rem 0 0 -1.5rem
}

.Grid--SpacingLarge>.Grid__Cell {
    padding: 1.5rem 0 0 1.5rem
}

.Grid--SpacingJumbo {
    margin: -2rem 0 0 -2rem
}

.Grid--SpacingJumbo>.Grid__Cell {
    padding: 2rem 0 0 2rem
}

.Grid__Cell {
    flex: 1
}

.Grid__Cell--1of1 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%
}

.Grid__Cell--1of2 {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%
}

.Grid__Cell--1of3 {
    flex: 0 0 33.33333333%;
    width: 33.33333333%;
    max-width: 33.33333333%
}

.Grid__Cell--1of4 {
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%
}

@media (min-width: 24rem) and (min-width: 24rem) {
    .Grid__Cell--S1of2 .Grid__Cell--1of2 {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%
    }

    .Grid__Cell--S1of3 .Grid__Cell--1of3 {
        flex: 0 0 33.33333333%;
        width: 33.33333333%;
        max-width: 33.33333333%
    }

    .Grid__Cell--S1of4 .Grid__Cell--1of4 {
        flex: 0 0 25%;
        width: 25%;
        max-width: 25%
    }
}

@media (min-width: 44rem) and (min-width: 44rem) {
    .Grid__Cell--M1of2 .Grid__Cell--1of2 {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%
    }

    .Grid__Cell--M1of3 .Grid__Cell--1of3 {
        flex: 0 0 33.33333333%;
        width: 33.33333333%;
        max-width: 33.33333333%
    }

    .Grid__Cell--M1of4 .Grid__Cell--1of4 {
        flex: 0 0 25%;
        width: 25%;
        max-width: 25%
    }
}

@media (min-width: 64rem) and (min-width: 64rem) {
    .Grid__Cell--L1of2 .Grid__Cell--1of2 {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%
    }

    .Grid__Cell--L1of3 .Grid__Cell--1of3 {
        flex: 0 0 33.33333333%;
        width: 33.33333333%;
        max-width: 33.33333333%
    }

    .Grid__Cell--L1of4 .Grid__Cell--1of4 {
        flex: 0 0 25%;
        width: 25%;
        max-width: 25%
    }
}

.Layer {
    padding: 0;
    position: relative
}

.Layer .Layer__Inner {
    max-width: 980px;
    margin: 0 auto
}

.Layer .BG__Grey {
    background-color: #f4f4f4
}

a.Module {
    display: block
}

.Module__Head+.Module__Head {
    padding-top: 1rem
}

.Module__Head+.Module__Row {
    padding-top: 1rem
}

.Module__Row+.Module__Row {
    padding-top: 1rem
}

.Module--SpacingSmall .Module__Head+.Module__Head {
    padding-top: .5rem
}

.Module--SpacingSmall .Module__Head+.Module__Row {
    padding-top: .5rem
}

.Module--SpacingSmall .Module__Row+.Module__Row {
    padding-top: .5rem
}

.Module--SpacingSmall .Module__Foot {
    padding-top: .5rem
}

pre {
    font-size: 10px;
    background: #eee;
    width: 100%;
    white-space: pre;
    margin: 0;
    overflow: hidden
}

.Placeholder {
    background: #000;
    width: 100%;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff
}

.ContainerFlexRow {
    display: flex
}

.Special__NoBreak {
    white-space: nowrap
}

.Special__TextAlignCenter {
    text-align: center
}

.Special__MarginTopNegativeSmall {
    margin-top: -.25rem
}

.Special__MarginTopSmall {
    margin-top: .25rem
}

.Special__MarginTopMedium {
    margin-top: .5rem
}

.Special__MarginTopLarge {
    margin-top: 1rem
}

.Special__MarginTopJumbo {
    margin-top: 2rem
}

@media (min-width: 44rem) {
    .Special__MobileOnly {
        display: none !important
    }
}

@media (max-width: 703px) {
    .Special__DesktopOnly {
        display: none !important
    }
}

br.mobile-break {
    display: none
}

@media (max-width: 703px) {
    br.mobile-break {
        display: block
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

.AgencyOfTheYear {
    padding: 100px 0
}

@media only screen and (max-width : 767px) {
    .AgencyOfTheYear {
        padding: 50px 0
    }
}

.AgencyOfTheYear .Headline_XL {
    text-align: center;
    font-size: 60px;
    line-height: 60px
}

@media only screen and (max-width : 1024px) {
    .AgencyOfTheYear .Headline_XL {
        font-size: 44px;
        line-height: 50px
    }
}

@media only screen and (max-width : 767px) {
    .AgencyOfTheYear .Headline_XL {
        font-size: 6vw;
        line-height: 8vw
    }
}

.AgencyOfTheYear .Archived_Project {
    margin-top: 20px;
    text-align: center
}

.AgencyOfTheYear .Archived_Project a {
    transition: color .3s;
    text-decoration: underline
}

.AgencyOfTheYear .Archived_Project a:hover {
    color: #0000d5
}

.AgencyOfTheYear__LogoContainer {
    display: flex;
    width: 75%;
    margin: 70px auto 0;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width : 1024px) {
    .AgencyOfTheYear__LogoContainer {
        width: 90%;
        margin: 50px auto 0
    }
}

@media only screen and (max-width : 767px) {
    .AgencyOfTheYear__LogoContainer {
        width: 100%;
        flex-flow: wrap
    }
}

.AgencyOfTheYear__Logo {
    margin: 0 20px;
    position: relative;
    flex: 0 1 100%
}

.AgencyOfTheYear__Logo .Image {
    transition: opacity .3s;
    opacity: 1
}

.AgencyOfTheYear__Logo .Rollover {
    transition: opacity .3s;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0
}

.AgencyOfTheYear__Logo.active .Image {
    opacity: 0
}

.AgencyOfTheYear__Logo.active .Rollover {
    opacity: 1
}

@media only screen and (max-width : 767px) {
    .AgencyOfTheYear__Logo {
        margin: 20px;
        flex: 0 1 12%;
        position: relative;
        width: 15%;
        text-align: center
    }
}

.CallToAction {
    position: relative;
    background-size: cover;
    height: 165px;
    background-position: center center;
    text-align: center;
    overflow: visible
}

.CallToAction .Row {
    width: 100%;
    justify-content: space-between;
    align-items: center;
    height: 100%
}

@media only screen and (max-width : 767px) {
    .CallToAction .Row {
        justify-content: center;
        width: unset;
        height: unset;
        flex-direction: column
    }
}

@media only screen and (max-width : 767px) {
    .CallToAction {
        padding-bottom: 30px;
        padding-top: 30px;
        height: unset
    }
}

.CallToAction .CallToAction__SVG {
    fill: #fff;
    width: 80px;
    height: 69px
}

@media only screen and (max-width : 767px) {
    .CallToAction .CallToAction__SVG {
        width: 47px;
        height: 41px
    }
}

.CallToAction .CallToAction__Content {
    display: flex;
    align-items: center;
    flex-direction: row;
    margin-right: 30px
}

@media only screen and (max-width : 767px) {
    .CallToAction .CallToAction__Content {
        margin-bottom: 30px;
        padding-left: 15px;
        align-items: flex-start
    }
}

.CallToAction .CallToAction__Title {
    font-family: DroteskNo5-Regular;
    font-size: 42;
    margin-left: 50px;
    opacity: 1;
    text-align: left;
    color: #fff;
    flex: 1;
    font-weight: inherit
}

@media only screen and (max-width : 767px) {
    .CallToAction .CallToAction__Title {
        margin-left: 20px;
        font-size: 28
    }
}

.CallToAction .CallToAction__Button {
    position: relative;
    font-family: DroteskNo5-Medium;
    font-size: 16px;
    transition: all .3s ease;
    background-color: #fff;
    color: #0000d5;
    padding: 20px 32px 21px;
    width: 191px;
    cursor: pointer;
    display: block
}

.CallToAction .CallToAction__Button:hover {
    background-color: #000
}

.CallToAction .CallToAction__Button:hover span {
    color: #fff
}

.CallToAction .CallToAction__Button.light {
    background-color: #fff;
    color: #000
}

@media only screen and (max-width : 767px) {
    .CallToAction .CallToAction__Button {
        align-items: center
    }
}

.CallToAction__black {
    background-color: #000;
    color: #fff
}

.CallToAction__black .CallToAction__Button:hover {
    background-color: #00f;
    color: #fff
}

.CallToAction__blue {
    background-color: #0000d5;
    color: #fff
}

.CallToAction__white {
    background-color: #fff;
    color: #000
}

.CallToAction__white .CallToAction__SVG {
    fill: #00f
}

.CallToAction__white .CallToAction__Title {
    color: #000
}

.CallToAction__white .CallToAction__Button {
    background-color: #00f;
    color: #fff
}

.CenteredBlockAndVideo {
    text-align: center
}

.HeadingContainer {
    position: relative
}

.HeadingContainer>h1 {
    isolation: isolate
}

.HeadingContainer>img {
    position: absolute;
    top: 0;
    height: 70%;
    width: auto
}

.ContentScrollBesideImage {
    position: relative;
    margin-top: 100px
}

.ContentScrollBesideImage.Top_Padding {
    margin-top: 0;
    padding-top: 100px
}

.ContentScrollBesideImage .ContentScrollBesideImage__Container {
    padding-bottom: 10.3rem
}

.ContentScrollBesideImage .ContentScrollBesideImage__TopImage {
    width: 100%;
    text-align: center;
    transform: translateY(-23%)
}

.ContentScrollBesideImage .ContentScrollBesideImage__ContentTop {
    top: 0;
    width: 423px
}

@media only screen and (max-width : 1024px) {
    .ContentScrollBesideImage .ContentScrollBesideImage__ContentTop {
        width: 272px
    }
}

@media only screen and (max-width : 767px) {
    .ContentScrollBesideImage .ContentScrollBesideImage__ContentTop {
        margin-top: 50px;
        margin-bottom: 70px
    }
}

.ContentScrollBesideImage .ContentScrollBesideImage__ContentTop.fixed {
    position: fixed
}

.ContentScrollBesideImage .ContentScrollBesideImage__ContentTop.absolute {
    position: absolute;
    bottom: 0
}

.ContentScrollBesideImage .ContentScrollBesideImage__ContentTop .Headline_Large {
    position: relative;
    padding-left: 20px;
    margin-bottom: 20px
}

.ContentScrollBesideImage .ContentScrollBesideImage__ContentTop .Headline_Large:before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    width: 70px;
    height: 6px;
    background-color: #0000d5
}

@media only screen and (max-width : 1024px) {
    .ContentScrollBesideImage .ContentScrollBesideImage__ContentTop .Headline_Large {
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 42px
    }

    [data-lang=ja] .ContentScrollBesideImage .ContentScrollBesideImage__ContentTop .Headline_Large {
        font-family: NotoSansJP-Regular
    }
}

.ContentScrollBesideImage .ContentScrollBesideImage__ContentBottom {
    width: 423px;
    position: absolute;
    bottom: 40px
}

@media only screen and (max-width : 1024px) {
    .ContentScrollBesideImage .ContentScrollBesideImage__ContentBottom {
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 42px
    }

    [data-lang=ja] .ContentScrollBesideImage .ContentScrollBesideImage__ContentBottom {
        font-family: NotoSansJP-Regular
    }
}

.ContentScrollBesideImage .ContentScrollBesideImage__ContentBottom .Body_Light {
    margin-top: 15px
}

@media only screen and (max-width : 1024px) {
    .ContentScrollBesideImage .ContentScrollBesideImage__ContentBottom {
        width: 272px
    }
}

@media only screen and (max-width : 767px) {
    .ContentScrollBesideImage .ContentScrollBesideImage__ContentBottom {
        display: none
    }
}

.ContentScrollBesideImage .ContentScrollBesideImage__MobileBottom {
    display: none
}

@media only screen and (max-width : 767px) {
    .ContentScrollBesideImage .ContentScrollBesideImage__MobileBottom {
        display: block;
        margin-top: 25px
    }
}

.FloatingBit {
    position: relative
}

.FloatingBit__img {
    position: absolute
}

@media (prefers-reduced-motion: no-preference) {
    .FloatingBit__img {
        transition: top .1s ease-out
    }
}

@media only screen and (max-width : 767px) {
    .FloatingBit__img {
        display: none
    }
}

.FloatingBit__img.img1 {
    top: 48%;
    left: 1%
}

@media (prefers-reduced-motion) {
    .FloatingBit__img.img1 {
        left: 0
    }
}

.FloatingBit__img.img2 {
    top: 70%;
    left: 8%
}

@media (prefers-reduced-motion) {
    .FloatingBit__img.img2 {
        left: 0
    }
}

.FloatingBit__img.img3 {
    top: 62%;
    right: 0%
}

@media only screen and (max-width : 1024px) {
    .ContentScrollBesideImage {
        max-width: 100%;
        width: 100%
    }

    .ContentScrollBesideImage .ContentScrollBesideImage__TopImage {
        width: 80%;
        margin-left: 10%
    }

    .ContentScrollBesideImage__img-img2 {
        padding-left: 10%
    }
}

@media only screen and (max-width : 767px) {
    .ContentScrollBesideImage .ContentScrollBesideImage__Container {
        padding-bottom: 50px
    }

    .ContentScrollBesideImage .ContentScrollBesideImage__ContentTop {
        width: auto
    }

    .ContentScrollBesideImage .ContentScrollBesideImage__TopImage {
        width: 100%;
        margin-left: 0%
    }

    .ContentScrollBesideImage__img-img2 {
        padding-left: 0%
    }
}

.ContentSurround {
    position: relative;
    padding: 75px 0;
    background-color: #f4f4f4
}

.ContentSurround .ContentSurround__Container {
    position: relative
}

.ContentSurround .TestRow {
    height: 200px
}

.ContentSurround .Cell {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #00f
}

.ContentSurround .ContentSurround__Title {
    margin-bottom: 20px;
    padding: 0 10%
}

.ContentSurround .ContentSurround__Body {
    margin: 0 auto;
    padding: 0 7%
}

.ContentSurround .ContentSurround__Image--left {
    width: 100%;
    margin: 10px 0
}

.ContentSurround .ContentSurround__Image--left:nth-child(1) {
    margin-left: 20%
}

.ContentSurround .ContentSurround__Image--right {
    width: 100%;
    margin: 10px 0
}

.ContentSurround .ContentSurround__Image--right:nth-child(2) {
    margin-left: 40%
}

.ContentSurround .ContentSurround__Image--right:nth-child(3) {
    margin-left: 10%
}

@media only screen and (max-width : 1024px) {
    .ContentSurround .ContentSurround__Image--left {
        width: 170%;
        margin-bottom: 42px
    }

    .ContentSurround .ContentSurround__Image--left:nth-child(3) {
        margin-bottom: 0
    }

    .ContentSurround .ContentSurround__Image--right {
        width: 200%;
        margin-bottom: 20px;
        margin-left: -80%
    }

    .ContentSurround .ContentSurround__Image--right:nth-child(1) {
        width: 220%;
        margin-left: -140%
    }

    .ContentSurround .ContentSurround__Image--right:nth-child(2) {
        margin-left: -60%
    }

    .ContentSurround .ContentSurround__Image--right:nth-child(3) {
        width: 161%;
        margin-left: -49%;
        margin-bottom: 0
    }
}

@media only screen and (max-width : 767px) {

    .ContentSurround,
    .ContentSurround .ContentSurround__Title,
    .ContentSurround .ContentSurround__Body {
        padding: 0
    }

    .ContentSurround .ContentSurround__Image--left {
        width: 100%;
        margin-bottom: 42px
    }

    .ContentSurround .ContentSurround__Image--left:nth-child(1) {
        width: 50%;
        transform: translate(100px, 272px)
    }

    .ContentSurround .ContentSurround__Image--left:nth-child(2) {
        width: 50%;
        transform: translateY(160px)
    }

    .ContentSurround .ContentSurround__Image--left:nth-child(3) {
        width: 70%;
        margin-bottom: 0;
        transform: translate(50px, -160px)
    }

    .ContentSurround .ContentSurround__Image--right {
        width: 200%;
        margin-bottom: 20px;
        margin-left: -80%
    }

    .ContentSurround .ContentSurround__Image--right:nth-child(1) {
        width: 60%;
        margin-left: 0%;
        transform: translate(130px)
    }

    .ContentSurround .ContentSurround__Image--right:nth-child(2) {
        width: 40%;
        margin-left: 0%;
        transform: translate(-20px, -90px)
    }

    .ContentSurround .ContentSurround__Image--right:nth-child(3) {
        width: 100%;
        margin-left: 0%;
        margin-bottom: 0;
        transform: translate(40px, -90px)
    }
}

.FullscreenVideoMask {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background-size: cover;
    background-position: center center;
    font-family: DroteskNo5-Regular;
    text-align: center;
    overflow: hidden
}

[data-lang=ja] .FullscreenVideoMask {
    font-family: NotoSansJP-Regular
}

.FullscreenVideoMask svg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%
}

.FullscreenVideoMask svg text {
    width: 100%;
    font-size: 9vw;
    text-align: center
}

.FullscreenVideoMask svg rect {
    fill: #fff
}

.FullscreenVideoMask svg>rect {
    -webkit-mask: url(#mask);
    mask: url(#mask)
}

.FullscreenVideoMask .CTA__Button {
    margin-bottom: 100px
}

.FullscreenVideoMask .Arrow_Down {
    position: absolute;
    z-index: 10;
    pointer-events: none;
    bottom: 20px;
    width: 12px;
    height: 7px;
    left: 50%;
    margin-left: -6px;
    display: none
}

@media only screen and (max-width : 767px) {
    .FullscreenVideoMask .Arrow_Down {
        display: block
    }
}

.FullscreenVideoMask__Intro {
    width: 65%;
    margin: 0 auto 50px
}

@media only screen and (max-width : 1024px) {
    .FullscreenVideoMask__Intro {
        width: 70%
    }
}

@media only screen and (max-width : 767px) {
    .FullscreenVideoMask__Intro {
        width: 85%
    }
}

.FullscreenVideoMask__Content {
    top: 50%;
    transform: translateY(-50%)
}

.FullscreenVideoMask__Title {
    margin-bottom: 40px
}

@media only screen and (max-width : 1024px) {
    .FullscreenVideoMask__Title {
        padding: 0 10%;
        margin-bottom: 20px
    }
}

@media only screen and (max-width : 1024px) {
    .FullscreenVideoMask__Subtitle {
        font-size: 20px;
        line-height: 32px;
        color: #000
    }
}

@media only screen and (max-width : 767px) {
    .FullscreenVideoMask__Subtitle {
        padding-left: 6%;
        padding-right: 6%
    }
}

.HeroImage {
    width: 100%;
    min-height: 350px;
    height: 40vh;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat
}

@media only screen and (max-width : 1024px) {
    .HeroImage {
        height: 40vh
    }
}

@media only screen and (max-width : 767px) {
    .HeroImage {
        height: 180px;
        min-height: 180px
    }
}

.HeroImage.fullscreen {
    width: 100%;
    height: 100%;
    background-position: center center
}

.HeroImage.small {
    height: 350px
}

.SiteMain.maud-template .HeroImage {
    height: 50vh;
    background-position: center
}

.Highlighted {
    padding: 80px 0;
    margin-bottom: 50px
}

.Highlighted .Highlighted__Image {
    position: relative;
    width: 70%;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 50%;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    cursor: pointer
}

.Highlighted .Highlighted__Image:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 100%
}

.Highlighted .Highlighted__Image>.inner {
    transition: all .5s;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center
}

.Highlighted .Highlighted__Image .ImgixImage {
    transition: all .5s
}

.Highlighted .Highlighted__Image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Highlighted .Highlighted__Image:hover>.inner,
.Highlighted .Highlighted__Image.active>.inner,
.Highlighted .Highlighted__Image:hover .ImgixImage,
.Highlighted .Highlighted__Image.active .ImgixImage {
    transform: scale(1.1);
    transform-origin: 50% 50%
}

@media only screen and (max-width : 1024px) {
    .Highlighted .Highlighted__Image {
        width: 100%
    }
}

@media only screen and (max-width : 767px) {
    .Highlighted .Highlighted__Image {
        margin-bottom: 50px;
        width: 80%
    }
}

.Highlighted .Headline_Large {
    cursor: pointer;
    transition: color .3s
}

.Highlighted .Headline_Large:hover,
.Highlighted .Headline_Large:hover span,
.Highlighted .Headline_Large:hover button,
.Highlighted .Headline_Large.active {
    color: #0000d5
}

.Highlighted .Category {
    margin: 0 auto;
    bottom: -18px;
    left: 0;
    right: 0
}

.Highlighted .Body_Light {
    padding: 20px 0
}

.Highlighted .Highlighted__quote__info {
    display: flex;
    align-items: center
}

.Highlighted .Highlighted__quote__image {
    width: 80px;
    height: 80px;
    overflow: hidden;
    border-radius: 50%;
    position: relative
}

.Highlighted .Highlighted__quote__image img {
    width: 100%
}

@media only screen and (max-width : 1024px) {
    .Highlighted .Highlighted__quote__image {
        width: 80px;
        height: 80px
    }
}

.Highlighted .Highlighted__quote__name {
    margin-left: 20px
}

.Highlighted .Body_Dark {
    margin-bottom: 5px
}

.Highlighted .Quoted_Department {
    color: #000
}

.HomepageBlockFullscreen {
    position: relative;
    width: 100%;
    min-height: 100vh;
    font-family: DroteskNo5-Regular;
    overflow-x: hidden
}

[data-lang=ja] .HomepageBlockFullscreen {
    font-family: NotoSansJP-Regular
}

.HomepageBlockFullscreen__Background {
    position: absolute;
    width: 100vw;
    height: 100vh;
    background-size: cover;
    background-position: center center;
    top: 0;
    bottom: auto
}

.HomepageBlockFullscreen .fixed-top {
    position: fixed;
    top: 0;
    bottom: auto
}

.HomepageBlockFullscreen .fixed-bottom {
    position: fixed;
    top: auto;
    bottom: 0
}

.HomepageBlockFullscreen .abs-bottom {
    position: absolute;
    top: auto;
    bottom: 0
}

@media only screen and (max-width : 767px) {

    .HomepageBlockFullscreen .fixed-top,
    .HomepageBlockFullscreen .fixed-bottom,
    .HomepageBlockFullscreen .abs-bottom {
        position: relative;
        top: 0;
        bottom: 0
    }
}

.HomepageBlockFullscreen__ContentContainer {
    position: absolute;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center center;
    top: 0;
    bottom: auto
}

@media only screen and (max-width : 767px) {
    .HomepageBlockFullscreen__ContentContainer {
        position: relative
    }
}

.HomepageBlockFulllscreen__Text {
    max-width: 426px
}

@media only screen and (max-width : 1024px) {
    .HomepageBlockFulllscreen__Text {
        max-width: 330px
    }
}

@media only screen and (max-width : 767px) {
    .HomepageBlockFulllscreen__Text {
        text-align: center;
        margin: 0 auto
    }
}

.HomepageBlockFullscreen__Content {
    position: relative;
    height: 100%
}

.HomepageBlockFullscreen__Content.light {
    color: #fff
}

.HomepageBlockFullscreen__Content .Row {
    height: 100%
}

@media only screen and (max-width : 767px) {
    .HomepageBlockFullscreen__Content .Row {
        align-items: flex-start;
        padding-top: 40px
    }
}

@media only screen and (max-width : 320px) {
    .HomepageBlockFullscreen__Content .Row {
        padding-top: 20px
    }
}

.HomepageBlockFullscreen__Category {
    font-family: GTPressura;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 10px
}

.HomepageBlockFullscreen__Title {
    margin-bottom: 10px
}

.HomepageBlockFullscreen__Subtitle {
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 40px
}

@media only screen and (max-width : 320px) {
    .HomepageBlockFullscreen__Subtitle {
        font-size: 12px;
        line-height: 20px;
        margin-bottom: 12px
    }
}

.HomepageBlockFullscreen__Button {
    transition: all .3s ease;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    display: inline-block;
    padding: 14px 20px;
    cursor: pointer
}

.HomepageBlockFullscreen__Button.light {
    background-color: #fff;
    color: #000
}

.HomepageBlockFullscreen__Button:hover {
    background-color: #0000d5;
    color: #fff
}

.HomepageBlockFullscreen__ScrollContent {
    margin-top: 20px
}

@media only screen and (max-width : 767px) {
    .HomepageBlockFullscreen__ScrollContent {
        position: absolute;
        bottom: 0;
        display: flex;
        width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .HomepageBlockFullscreen__ScrollContent::-webkit-scrollbar {
        display: none
    }
}

.HomepageBlockFullscreen__ScrollItem {
    border: 1px solid #E5E5E5;
    margin-bottom: 20px;
    background-color: #fff
}

@media only screen and (max-width : 767px) {
    .HomepageBlockFullscreen__ScrollItem {
        box-sizing: border-box;
        flex: 0 0 auto;
        max-width: 100%;
        height: -moz-max-content;
        height: max-content;
        margin-left: 15px;
        margin-right: 15px
    }
}

.HomepageBlockFullscreen__ScrollItem__Image {
    float: left;
    position: relative;
    width: 100%
}

.HomepageBlockFullscreen__ScrollItem__Image:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 50%
}

.HomepageBlockFullscreen__ScrollItem__Content {
    width: 90%;
    float: left
}

.HomepageBlockFullscreen__ScrollItem__Content.left {
    width: 55%
}

@media only screen and (max-width : 767px) {
    .HomepageBlockFullscreen__ScrollItem__Content.left {
        width: 49%
    }
}

.HomepageBlockFullscreen__ScrollItem__Headline {
    margin: 20px 0 20px 30px
}

.HomepageBlockFullscreen__ScrollItem__Subheader {
    color: #9ea7aa;
    margin: 20px 0 20px 30px
}

.HomepageBlockFullscreen__ScrollItem__Footer {
    font-size: 16px;
    padding: 15px 0;
    clear: both;
    border-top: 1px solid #E5E5E5;
    margin-left: 30px
}

.HomepageBlockFullscreen__ScrollItem__Footer .Button__Arrow {
    margin-left: 10px
}

.HomepageBlockFullscreen__ScrollItem__Quote {
    margin: 20px 0 20px 30px;
    padding-right: 26px
}

.HomepageBlockFullscreen__ScrollItem__Credits {
    font-size: 12px;
    font-family: GTPressura;
    text-transform: uppercase;
    margin: 0 0 30px 30px
}

.grey {
    color: #959595
}

@media only screen and (max-width : 1024px) {
    .HomepageBlockFullscreen__Content {
        position: relative
    }

    .HomepageBlockFullscreen__ScrollContent {
        margin-top: 20px
    }
}

@media only screen and (max-width : 767px) {
    .HomepageBlockFullscreen__ScrollItem {
        margin-bottom: 10px
    }

    .HomepageBlockFullscreen__ScrollItem__Headline {
        margin: 20px 0 5px 30px
    }

    .HomepageBlockFullscreen__ScrollItem__Subheader {
        margin: 0 0 10px 30px
    }
}

.ImageBlock--Full {
    width: 100%
}

.ImageBlock--Full img {
    width: 100%;
    height: auto
}

.ImageBlock--Full .Image__Caption {
    width: 100%;
    text-align: center;
    margin-top: 15px
}

.ImageBlockBordered {
    width: 100%;
    padding-left: 3rem;
    padding-right: 3rem
}

.ImageBlockBordered img {
    width: 100%;
    height: auto
}

.ImageBlockBordered .Image__Caption {
    width: 100%;
    text-align: center;
    margin-top: 15px
}

.ImageBlockLarge {
    margin: 0 auto;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    padding-top: 0
}

.ImageBlockLarge img {
    width: 100%
}

.ImageBlockLarge__Caption {
    width: 100%;
    text-align: center;
    padding: 4rem 0;
    position: absolute;
    bottom: -7rem
}

@media only screen and (max-width : 767px) {
    .ImageBlockLarge__Caption {
        margin: auto;
        max-width: 60%;
        font-size: 1.5rem;
        left: 0;
        right: 0;
        bottom: -8rem
    }
}

.ImageBlockMedium {
    width: 100%;
    max-width: 864px;
    margin: 0 auto
}

.ImageBlockMedium img {
    width: 100%;
    height: auto
}

.ImageBlockMedium .caption {
    text-align: center;
    margin: 25px 0;
    width: 100%
}

@media only screen and (max-width : 767px) {
    .ImageBlockMedium .caption {
        margin: 20px 0
    }
}

.ImageCarousel {
    --backgroundColor: white;
    --contentColor: black;
    background: var(--backgroundColor);
    color: var(--contentColor);
    position: relative;
    margin-bottom: 55px;
    overflow: hidden
}

.ImageCarousel.dark {
    --backgroundColor: black;
    --contentColor: white;
    margin-bottom: 0;
    padding-bottom: 55px
}

.ImageCarousel .ImageCarousel__Slider {
    display: inline-flex;
    flex-wrap: nowrap;
    width: 10000px
}

.ImageCarousel .ImageCarousel__Item {
    width: 864px;
    margin-right: 25px
}

@media only screen and (max-width : 1024px) {
    .ImageCarousel .ImageCarousel__Item {
        width: 718px
    }
}

@media only screen and (max-width : 767px) {
    .ImageCarousel .ImageCarousel__Item {
        width: 325px
    }
}

.ImageCarousel .ImageCarousel__Item img {
    width: 100%;
    height: auto;
    pointer-events: none
}

.ImageCarousel .Quoted_Department .TextBlock_ClientName {
    color: var(--contentColor) !important
}

.ImageCarousel .Headline_XS {
    color: var(--contentColor) !important;
    text-transform: none
}

.ImageCarousel .ImageCarousel__Caption {
    font-family: GTPressura;
    font-size: 14px;
    margin: 10px 0;
    color: var(--contentColor)
}

.ImageCarousel .ImageCarousel__Controls {
    display: flex;
    justify-content: center;
    width: 200px;
    margin: 30 auto 0 auto
}

.ImageCarousel .ImageCarousel__Controls__Button {
    transition: all .3s ease-out;
    cursor: pointer;
    margin: 0 10px;
    opacity: 1
}

.ImageCarousel .ImageCarousel__Controls__Button.disabled {
    opacity: .2;
    pointer-events: none
}

.ImageCarousel .ImageCarousel__Controls__Button:hover svg g polyline {
    fill: #0000d5
}

@media only screen and (max-width : 767px) {
    .ImageCarousel .ImageCarousel__Item {
        width: 327px
    }
}

.ImageComparison {
    padding-bottom: 10.4rem;
    padding-top: 100px
}

@media only screen and (max-width : 320px) {
    .ImageComparison {
        width: 100%
    }
}

.ImageComparison__Holder {
    position: relative;
    width: 100%
}

.ImageComparison__Background {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: 90%
}

.ImageComparison__Images {
    position: relative;
    width: 1160px;
    height: 1392px;
    margin: 0 auto
}

@media only screen and (max-width : 1024px) {
    .ImageComparison__Images {
        width: 700px;
        height: 840px
    }
}

@media only screen and (max-width : 767px) {
    .ImageComparison__Images {
        width: 326px;
        height: 391.2px
    }
}

.ImageComparison__Images--img {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover
}

.ImageComparison__Images--img.left {
    left: 0
}

.ImageComparison__Images--img.right {
    right: 0;
    width: 0
}

.ImageComparison__Caption {
    text-align: center;
    padding-top: 4rem
}

.LargeTextBlock {
    --backgroundColor: white;
    --contentColor: black;
    background: var(--backgroundColor);
    color: var(--contentColor);
    padding: 80px 0
}

@media only screen and (max-width : 1024px) {
    .LargeTextBlock {
        padding: 60px 0
    }
}

@media only screen and (max-width : 767px) {
    .LargeTextBlock {
        padding: 40px 0
    }
}

.LargeTextBlock.dark {
    --backgroundColor: black;
    --contentColor: white
}

.LogoGrid {
    --logo_grid-padding: 6rem;
    padding: var(--logo_grid-padding) 0
}

.LogoGrid header {
    font-size: 35px;
    color: #000;
    text-align: center
}

.LogoGrid header+ul {
    margin-top: var(--logo_grid-padding)
}

.LogoGrid ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4rem
}

.LogoGrid ul li {
    position: relative;
    max-width: 25%
}

.LogoGrid ul li img {
    max-height: 150px
}

.OurDna {
    position: relative;
    width: 100%;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .OurDna {
    font-family: NotoSansJP-Regular
}

.OurDna .OurDna__Header {
    position: relative;
    width: 100%;
    text-align: center;
    margin-top: 100px;
    margin-bottom: 12px;
    font-weight: inherit
}

@media only screen and (max-width : 767px) {
    .OurDna .OurDna__Header {
        margin-top: 60px
    }
}

.OurDna .OurDna__ContentContainer {
    margin-bottom: 100px
}

@media only screen and (max-width : 767px) {
    .OurDna .OurDna__ContentContainer {
        margin-bottom: 0
    }
}

.OurDna .OurDna__ContentContainer .OurDna__Item {
    cursor: default;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem 0;
    margin-bottom: 30px
}

.OurDna .OurDna__ContentContainer .OurDna__Item .OurDna__Item__Title {
    transition: color .3s;
    font-size: 35px;
    width: 40%;
    margin-bottom: 10px;
    text-align: right;
    padding-right: 2%;
    color: #000
}

.OurDna .OurDna__ContentContainer .OurDna__Item .OurDna__Item__Text {
    transition: color .3s;
    width: 40%;
    line-height: 26px;
    padding-left: 2%;
    color: #000
}

.OurDna .OurDna__ContentContainer .OurDna__Item.faded .OurDna__Item__Title {
    color: #e6e6e6
}

.OurDna .OurDna__ContentContainer .OurDna__Item.faded .OurDna__Item__Text {
    color: #9ea7aa
}

@media only screen and (max-width : 1024px) {
    .OurDna .OurDna__ContentContainer .OurDna__Item {
        pointer-events: none
    }

    .OurDna .OurDna__ContentContainer .OurDna__Item .OurDna__Item__Title {
        width: 100%;
        font-size: 28px;
        font-family: DroteskNo5-Regular;
        color: #000;
        text-align: center;
        margin-bottom: 0;
        padding: 0
    }

    [data-lang=ja] .OurDna .OurDna__ContentContainer .OurDna__Item .OurDna__Item__Title {
        font-family: NotoSansJP-Regular
    }

    .OurDna .OurDna__ContentContainer .OurDna__Item .OurDna__Item__Text {
        width: 100%;
        color: #959595;
        text-align: center;
        width: 60%;
        margin-bottom: 40px;
        padding: 0
    }
}

@media only screen and (max-width : 767px) {
    .OurDna .OurDna__ContentContainer .OurDna__Item .OurDna__Item__Text {
        width: 80%
    }
}

.QuoteBlock {
    padding: 100px 0
}

@media only screen and (max-width : 1024px) {
    .QuoteBlock {
        padding: 70px 5%
    }
}

@media only screen and (max-width : 767px) {
    .QuoteBlock {
        padding: 60px 0
    }
}

.QuoteBlock__Quote {
    line-height: 1.2
}

.QuoteBlock__Person {
    padding-top: 2.7rem;
    line-height: 2;
    display: flex
}

.QuoteBlock__Person__ImageContainer {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    border: none;
    overflow: hidden;
    margin-right: 2rem;
    background-position: center;
    background-size: cover
}

.QuoteBlock__Person__ImageContainer--img {
    max-width: 100%;
    display: inline-block;
    margin-right: 1.7rem
}

.QuoteBlock__Person--description {
    display: inline-block;
    vertical-align: top
}

.QuoteBlock__Name {
    margin-top: 4px
}

.QuoteBlock__Column {
    position: relative
}

.ParallaxVideoBlock {
    --backgroundColor: white;
    --contentColor: black;
    background: var(--backgroundColor);
    padding-top: clamp(120px, 4vw, 150px);
    isolation: isolate
}

.ParallaxVideoBlock.dark {
    --backgroundColor: black;
    --contentColor: white
}

.ParallaxVideoBlock__wrapper {
    padding: clamp(14rem, 4vw, 20rem) 0 clamp(8rem, 4vw, 20rem);
    position: relative
}

.ParallaxVideoBlock__Logo {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    max-width: 1900px;
    transition: .12s ease-out;
    will-change: transform;
    z-index: -1;
    pointer-events: none;
    overflow: hidden
}

.ParallaxVideoBlock__Logo svg {
    width: 100%;
    fill: var(--contentColor);
    display: block
}

.ParallaxVideoBlock__Video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    padding-bottom: 56.25%
}

.ParallaxVideoBlock__Video video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.ParallaxVideoBlock__Video:hover .ParallaxVideoBlock__PlayButton {
    opacity: 1
}

.ParallaxVideoBlock__PlayButton {
    position: absolute;
    width: -moz-max-content;
    width: max-content;
    left: 0;
    right: 0;
    bottom: 60px;
    margin: auto;
    opacity: 0;
    z-index: 2;
    transition: .12s ease-out;
    cursor: pointer
}

.ParallaxVideoBlock__PlayButton__Label {
    color: #fff;
    padding: 0 20px
}

.ParallaxVideoBlock__PlayButton__Line {
    transition: width .2s ease-out;
    position: absolute;
    width: 0;
    height: 26px;
    background-color: #0000d5;
    top: 42%;
    z-index: -1
}

@media only screen and (max-width : 1024px) {
    .ParallaxVideoBlock__PlayButton__Line {
        height: 16px;
        top: 36%
    }
}

.ParallaxVideoBlock__PlayButton:hover .ParallaxVideoBlock__PlayButton__Line {
    width: 100%
}

.RelatedContent {
    padding-top: 80px;
    padding-bottom: 100px;
    position: relative
}

@media only screen and (max-width : 1024px) {
    .RelatedContent {
        padding-bottom: 45px
    }
}

.RelatedContent.Overlap {
    padding-top: 0;
    margin-top: -400px
}

@media only screen and (max-width : 1024px) {
    .RelatedContent.Overlap {
        margin-top: -220px
    }
}

.RelatedContent .RelatedContent__Container {
    margin-top: 40px;
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: left;
    align-content: flex-end
}

.RelatedContent .RelatedContent__Item {
    width: 30%;
    margin-right: 5%;
    margin-bottom: 60px;
    align-self: top
}

.RelatedContent .RelatedContent__Item img {
    width: 100%
}

.RelatedContent .RelatedContent__Item .Image_Zoom:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 135.63218391%
}

.RelatedContent .RelatedContent__Item:nth-child(3n+3) {
    margin-right: 0
}

.RelatedContent .RelatedContent__Item .RelatedContent__Link--title {
    color: #949799;
    font-family: GTPressura;
    font-size: 14px;
    text-transform: uppercase;
    margin: 16px 0 4px
}

.RelatedContent .RelatedContent__Item .RelatedContent__Link--caption {
    transition: color .2s ease-out;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .RelatedContent .RelatedContent__Item .RelatedContent__Link--caption {
    font-family: NotoSansJP-Regular
}

.RelatedContent .RelatedContent__Item:hover .RelatedContent__Link--caption {
    color: #0000d5
}

@media only screen and (max-width : 767px) {
    .RelatedContent .RelatedContent__Item {
        width: 100%;
        margin-right: 0%
    }
}

.RolloverTextBlock {
    --backgroundColor: white;
    --contentColor: black;
    background: var(--backgroundColor);
    color: var(--contentColor);
    padding: 80px 0
}

@media only screen and (max-width : 1024px) {
    .RolloverTextBlock {
        padding: 60px 0
    }
}

@media only screen and (max-width : 767px) {
    .RolloverTextBlock {
        padding: 40px 0
    }
}

.RolloverTextBlock.dark {
    --backgroundColor: black;
    --contentColor: white
}

.RolloverTextBlock .Headline_Large {
    font-size: 48px;
    line-height: 60px
}

.RolloverTextBlock .Headline_Large p+p {
    margin-top: 48px
}

@media only screen and (max-width : 1024px) {
    .RolloverTextBlock .Headline_Large {
        font-size: 40px;
        line-height: 56px
    }
}

@media only screen and (max-width : 767px) {
    .RolloverTextBlock .Headline_Large {
        font-size: 28px;
        line-height: 40px
    }
}

.RolloverTextBlock .MagicLink {
    position: relative;
    isolation: isolate;
    color: inherit;
    transition: color .12s ease-out;
    z-index: 1;
    cursor: default
}

.RolloverTextBlock .MagicLink__Label,
.RolloverTextBlock .MagicLink__Image {
    pointer-events: none
}

.RolloverTextBlock .MagicLink__Label {
    display: inline-block;
    border-bottom: 3px solid var(--contentColor);
    line-height: initial;
    transition: border .12s ease-out
}

@media only screen and (max-width : 1024px) {
    .RolloverTextBlock .MagicLink__Label {
        border-bottom-width: 2px
    }
}

@media only screen and (max-width : 767px) {
    .RolloverTextBlock .MagicLink__Label {
        display: inline;
        border-bottom-width: 2px
    }
}

.RolloverTextBlock .MagicLink__Image {
    position: absolute;
    z-index: 3;
    pointer-events: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity .6s ease-out;
    width: 400px;
    height: 400px;
    max-width: unset;
    -o-object-fit: cover;
    object-fit: cover
}

.RolloverTextBlock .MagicLink:hover:not(:focus-visible) {
    z-index: 2
}

.RolloverTextBlock .MagicLink:focus-visible {
    z-index: 2;
    outline: none;
    box-shadow: 0 0 0 4px #0000d5
}

.RolloverTextBlock .MagicLink:focus-visible .MagicLink__Image {
    opacity: 1
}

.RolloverTextBlock .MagicLink:focus-visible .MagicLink__Label {
    border-color: #0000d5
}

.StatGrid {
    width: 100%;
    margin: 0 auto
}

.StatGrid .StatGrid__Container .Row {
    width: 100%
}

@media only screen and (max-width : 767px) {
    .StatGrid .StatGrid__Container .Row {
        width: auto
    }
}

.StatGrid__Text {
    margin-top: 40px;
    position: relative;
    width: 100%;
    display: inline-block;
    vertical-align: top;
    text-align: left
}

.StatGrid__Text .h1 {
    padding-left: 2rem;
    line-height: 1.2;
    margin-bottom: 2.8rem
}

.StatGrid__Text .body-copy {
    line-height: 2
}

.StatGrid__Text:before {
    content: "";
    position: absolute;
    top: -3rem;
    left: 0;
    width: 9.3rem;
    height: .7rem;
    background-color: #0000d5
}

@media only screen and (max-width : 1024px) {
    .StatGrid__Text {
        width: 100%
    }
}

.StatGrid__Text--FullWidth {
    text-align: center
}

.StatGrid__Text--FullWidth:before {
    right: 0;
    margin: auto
}

.StatGrid__Text .Headline_Large {
    margin-bottom: 20px
}

.StatGrid__Text .h1 {
    font-size: 42px
}

.StatGrid__Text p+p {
    margin-top: 1rem
}

.StatGrid__StatsHolder {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 100%
}

@media only screen and (min-width : 1025px) {
    .StatGrid__StatsHolder {
        padding-left: 20%
    }
}

@media only screen and (max-width : 1024px) {
    .StatGrid__StatsHolder {
        padding-left: 10%;
        min-height: 45vw
    }
}

@media only screen and (max-width : 767px) {
    .StatGrid__StatsHolder {
        padding-left: 0
    }
}

.StatGrid__StatsHolder--FullWidth {
    padding-left: 0;
    margin-top: 80px
}

@media only screen and (min-width : 1025px) {
    .StatGrid__StatsHolder--FullWidth {
        margin-top: 60px;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem
    }
}

.StatGrid__StatsHolder>* {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.StatGrid__Stat {
    transition: all .2s ease-out;
    padding: 1.5rem;
    margin-bottom: 30px;
    cursor: default
}

@media only screen and (min-width : 1025px) {
    .StatGrid__Stat {
        padding: 3rem;
        margin-bottom: 0
    }
}

.StatGrid__Stat:hover {
    background: #fff;
    border-radius: 10rem
}

.StatGrid__Stat__eyebrow,
.StatGrid__Stat__label,
.StatGrid__Stat__description {
    text-align: center;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .StatGrid__Stat__eyebrow,
[data-lang=ja] .StatGrid__Stat__label,
[data-lang=ja] .StatGrid__Stat__description {
    font-family: NotoSansJP-Regular
}

.StatGrid__Stat__label {
    color: #4a4a4a;
    font-size: 6rem
}

@media only screen and (max-width : 1024px) {
    .StatGrid__Stat__label {
        font-size: 50px
    }
}

@media only screen and (max-width : 767px) {
    .StatGrid__Stat__label {
        font-size: 34.5px
    }
}

.StatGrid__Stat__eyebrow,
.StatGrid__Stat__description {
    font-size: 16px
}

@media only screen and (max-width : 767px) {

    .StatGrid__Stat__eyebrow,
    .StatGrid__Stat__description {
        font-size: 12px
    }
}

.StatGrid__Stat__eyebrow {
    margin-bottom: 4px
}

.StatGrid__Stat__description {
    margin-top: 12px
}

.StatGrid__Stat .prefix,
.StatGrid__Stat .suffix {
    font-size: 30px;
    color: #c8c8c8
}

@media only screen and (max-width : 1024px) {

    .StatGrid__Stat .prefix,
    .StatGrid__Stat .suffix {
        font-size: 25px
    }
}

@media only screen and (max-width : 767px) {

    .StatGrid__Stat .prefix,
    .StatGrid__Stat .suffix {
        font-size: 17px
    }
}

.StatGrid__Supplement {
    text-align: center;
    padding: 2rem 0
}

@media only screen and (min-width : 1025px) {
    .StatGrid__Supplement {
        padding: 3.5rem 3rem
    }
}

.StatGrid__Supplement img {
    max-width: 100%;
    margin: 0 auto 1rem;
    display: block;
    position: relative
}

.StatGrid__Supplement__caption {
    font-family: GTPressura;
    font-size: 1.1rem;
    text-transform: uppercase;
    color: #4a4a4a;
    width: 13.5rem;
    margin: 0 auto
}

.StatGrid__SupplementHolder {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    width: 100%;
    padding: 3rem
}

.StatGrid__SupplementHolder>* {
    flex: 50%;
    text-align: center
}

.TextBlock {
    align-items: center;
    padding-top: 100px
}

@media only screen and (max-width : 767px) {
    .TextBlock {
        padding-top: 50px
    }
}

.TextBlock .TextBlock__TitleLeft {
    padding-right: 2%
}

@media only screen and (max-width : 1024px) {
    .TextBlock .TextBlock__TitleLeft {
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 42px
    }

    [data-lang=ja] .TextBlock .TextBlock__TitleLeft {
        font-family: NotoSansJP-Regular
    }
}

.TextBlock .TextBlock__TitleTop {
    position: relative;
    margin-bottom: 25px;
    text-align: center;
    padding: 0 10%
}

.TextBlock p+p {
    margin-top: 1rem
}

.TextBlock .TextBlock__BodyBottom {
    text-align: center
}

.TextBlock.TitleNoPadding {
    padding-top: 0 !important
}

.TextBlock.TitleSmallPadding {
    padding-top: 2.5rem !important
}

.TextBlock.TitleTop {
    padding-top: 90px
}

.TextBlock.TitleTop .TextBlock__BodyBottom {
    padding: 0 10%
}

.TextBlock .Quoted_Department {
    margin-bottom: 10px
}

.TextBlock .TextBlock_ClientName {
    color: #000
}

@media only screen and (max-width : 1024px) {
    .TextBlock {
        padding-bottom: 0;
        justify-content: center
    }

    .TextBlock .TextBlock__TitleLeft {
        margin-bottom: 20px
    }

    .TextBlock .TextBlock__TitleTop {
        padding: 0 20%
    }

    .TextBlock.TitleTop {
        padding-top: 90px
    }

    .TextBlock.TitleTop .TextBlock__BodyBottom {
        padding: 0 20%
    }

    .TextBlock__TitleTop {
        padding: 0
    }
}

@media only screen and (max-width : 767px) {

    .TextBlock .TextBlock__TitleTop,
    .TextBlock.TitleTop .TextBlock__BodyBottom {
        padding: 0 10%
    }
}

.TextAndImageBlock {
    padding-top: 10rem;
    padding-bottom: 11.7rem
}

.TextAndImageBlock .BehindTheScenes__CTA {
    right: 0;
    top: -60px
}

.TextAndImageBlock .TextAndImageBlock__TextColumn {
    position: relative
}

.TextAndImageBlock .TextAndImageBlock__Headline {
    position: relative;
    padding-left: 12px;
    margin-bottom: 20px
}

.TextAndImageBlock .TextAndImageBlock__Headline:before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    width: 70px;
    height: 6px;
    background-color: #0000d5
}

.TextAndImageBlock .TextAndImageBlock__Content {
    margin-bottom: 30px
}

.TextAndImageBlock .TextAndImageBlock__Img {
    padding-left: 5%;
    text-align: center;
    position: relative
}

.TextAndImageBlock .TextAndImageBlock__Img img {
    width: 100%
}

.TextAndImageBlock .CTA__Button {
    margin-bottom: 1.5rem;
    padding: 12px 30px
}

@media only screen and (max-width : 767px) {
    .TextAndImageBlock .CTA__Button {
        margin-bottom: .5rem
    }
}

@media only screen and (max-width : 1024px) {
    .TextAndImageBlock .TextAndImageBlock__CTA {
        margin-bottom: 30px
    }
}

@media only screen and (max-width : 767px) {
    .TextAndImageBlock {
        padding-bottom: 5rem
    }

    .TextAndImageBlock .TextAndImageBlock__Content {
        width: 100%
    }

    .TextAndImageBlock .TextAndImageBlock__CTA {
        text-align: center
    }

    .TextAndImageBlock .TextAndImageBlock__Img {
        padding-left: 0%
    }
}

.TwoColumnGrid {
    padding-top: 0
}

.TwoColumnGrid .TwoColumnGrid__Cell {
    margin-top: 100px;
    width: 100%
}

.TwoColumnGrid .TwoColumnGrid__Headline {
    text-align: left;
    margin: 50px 0;
    width: 75%
}

.TwoColumnGrid .TwoColumnGrid__Headline .Headline_Large {
    position: relative;
    margin-left: 30px;
    margin-bottom: 30px
}

.TwoColumnGrid .TwoColumnGrid__Headline .Headline_Large:before {
    content: "";
    position: absolute;
    top: -40;
    left: -30;
    width: 70px;
    height: 6px;
    background-color: #0000d5
}

.TwoColumnGrid .TwoColumnGrid__Headline .Body_Light p+p {
    margin-top: 1rem
}

.TwoColumnGrid .TwoColumnGrid__ColumnLeft {
    padding-right: 2%
}

.TwoColumnGrid .TwoColumnGrid__ColumnLeft .TwoColumnGrid__Image {
    margin-bottom: 40px;
    text-align: left
}

@media only screen and (max-width : 767px) {
    .TwoColumnGrid .TwoColumnGrid__ColumnLeft .TwoColumnGrid__Image {
        text-align: center
    }
}

.TwoColumnGrid .TwoColumnGrid__ColumnLeft .TwoColumnGrid__Image .Project_Caption {
    color: #000;
    text-align: center;
    margin-top: 20px
}

.TwoColumnGrid .TwoColumnGrid__ColumnRight {
    padding-left: 2%
}

.TwoColumnGrid .TwoColumnGrid__ColumnRight .TwoColumnGrid__Image {
    margin-bottom: 40px;
    text-align: right
}

@media only screen and (max-width : 767px) {
    .TwoColumnGrid .TwoColumnGrid__ColumnRight .TwoColumnGrid__Image {
        text-align: center
    }
}

.TwoColumnGrid .TwoColumnGrid__ColumnRight .TwoColumnGrid__Image .Project_Caption {
    color: #000;
    text-align: center;
    margin-top: 20px
}

.TwoColumnGrid .TwoColumnGrid__ColumnRight .TwoColumnGrid__Headline {
    margin: 50px auto
}

.two-up-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 3rem
}

.two-up-grid.two-up-grid--bordered {
    padding-left: 3rem;
    padding-right: 3rem
}

.two-up-grid.two-up-grid--large {
    max-width: 1160px;
    margin: 0 auto
}

.two-up-grid.two-up-grid--medium {
    max-width: 864px;
    margin: 0 auto
}

.two-up-grid__cell {
    position: relative
}

.two-up-grid__cell img {
    display: block;
    width: 100%;
    height: auto
}

.two-up-grid__cell video {
    display: block;
    width: 100%;
    height: auto
}

.two-up-grid__cell--cover img {
    position: absolute;
    height: 100%;
    width: 100%;
    -o-object-fit: contain !important;
    object-fit: contain !important
}

.two-up-grid__cell--cover video {
    position: absolute;
    height: 100%;
    width: 100%;
    -o-object-fit: contain !important;
    object-fit: contain !important
}

.VideoBlock {
    min-height: 480px;
    position: relative
}

.VideoBlock.Medium {
    padding-top: 0;
    text-align: center
}

.VideoBlock.Medium .VideoBlock__video {
    position: relative
}

.VideoBlock.Bordered {
    padding-left: 3rem;
    padding-right: 3rem
}

.VideoBlock .VideoBlock__Caption {
    text-align: center;
    width: 100%;
    margin-top: 20px
}

@media only screen and (max-width : 1024px) {
    .VideoBlock {
        min-height: 300px
    }
}

@media only screen and (max-width : 767px) {
    .VideoBlock {
        padding-top: 0;
        min-height: 200px
    }
}

.VideoBlock__headline,
.VideoBlock__bodycopy {
    width: 50.8rem;
    text-align: center;
    margin: 0 auto;
    display: block
}

@media only screen and (max-width : 767px) {

    .VideoBlock__headline,
    .VideoBlock__bodycopy {
        width: 100%
    }
}

.VideoBlock__bodycopy,
.VideoBlock .VideoBlock__bodycopy--medium {
    margin-top: 20px
}

.VideoBlock__video {
    width: 100%;
    position: relative
}

.VideoBlock .Quoted_Department {
    color: #000;
    text-align: center
}

.VideoCarousel {
    position: relative
}

.VideoCarousel .VideoCarousel__Slider {
    display: inline-flex;
    flex-wrap: nowrap;
    min-width: 100%
}

.VideoCarousel .VideoCarousel__Item {
    flex: 0 0 auto;
    position: relative;
    width: 100%
}

.VideoCarousel .VideoCarousel__VidHolder {
    position: relative;
    width: 100%
}

.VideoCarousel .VideoCarousel__VidHolder:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 56.25%
}

.VideoCarousel .VideoCarousel__VidHolder video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: 100%
}

.VideoCarousel .VideoCarousel__VidHolder video[poster] {
    -o-object-fit: cover;
    object-fit: cover
}

.VideoCarousel .VideoCarousel__Caption {
    font-family: GTPressura;
    font-size: 14px;
    margin-top: 20px;
    color: #000;
    text-transform: uppercase;
    text-align: center
}

.VideoCarousel .VideoCarousel__Controls {
    display: flex;
    justify-content: center;
    width: 200px;
    margin: 55px auto 0
}

.VideoCarousel.BG__Grey .VideoCarousel__Controls {
    margin: 55px auto 50px
}

.VideoCarousel .VideoCarousel__Controls__Button {
    transition: all .3s ease-out;
    cursor: pointer;
    margin: 0 10px;
    opacity: 1
}

.VideoCarousel .VideoCarousel__Controls__Button.disabled {
    opacity: .2;
    pointer-events: none
}

.VideoCarousel .VideoCarousel__Controls__Button:hover svg g polyline {
    fill: #0000d5
}

.VideoCarousel__Thumbnail {
    cursor: pointer;
    background-size: cover;
    background-position: center center;
    z-index: 2;
    position: absolute;
    top: -1;
    right: -1;
    bottom: -1;
    left: -1
}

.VideoCarousel__Thumbnail .VideoCarousel_PlayBtn {
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.VideoCarousel__Thumbnail .Btn_Svg {
    transition: all .2s ease-out;
    transform-origin: center;
    transform-box: fill-box
}

.VideoCarousel__Thumbnail .Btn_Cirlce {
    transition: all .3s ease-out;
    opacity: .7;
    fill: #000
}

.VideoCarousel__Thumbnail:hover .Btn_Svg {
    transform: scale(1.1);
    transform-origin: center;
    transform-box: fill-box
}

.VideoCarousel__Thumbnail:hover .Btn_Cirlce {
    opacity: 1;
    fill: #0000d5
}

.AudioBlock__Headline {
    margin-bottom: 20px
}

.AudioBlock__Player__Action {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px
}

@media only screen and (max-width : 767px) {
    .AudioBlock__Player__Action {
        margin-top: 25px
    }
}

.AudioBlock__Player__Controls {
    flex: 0 0 40%;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.AudioBlock__Player__Slider {
    margin-bottom: 75px
}

.AudioBlock__Player__Slider input.w-full {
    height: 5px;
    -webkit-appearance: none;
    width: 100%;
    margin-bottom: 10px;
    cursor: pointer;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
    background: -webkit-gradient(linear, 0% 0%, 100% 0%, color-stop(0%, #ccc), color-stop(0%, #000))
}

.AudioBlock__Player__Button.next {
    padding: 8px 5px 3px 6px
}

.AudioBlock__Player__Button.play {
    padding: 7px 9px 3px 4px
}

.AudioBlock__Player__Button.pause {
    padding: 7px 9px 3px
}

.AudioBlock__Player__Button.prev {
    padding: 8px 5px 3px 6px
}

.AudioBlock__Playlist__Item {
    padding: 10px 15px 10px 0;
    border-bottom: 1px solid #000;
    cursor: pointer
}

.AudioBlock__Playlist__Item:first-child {
    border-top: 1px solid #000000
}

.AudioBlock__Playlist__Item__Content {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.PageNotFound {
    width: 100%;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .PageNotFound {
    font-family: NotoSansJP-Regular
}

*:not(:empty)+.PageNotFound {
    content-visibility: none;
    display: none
}

.PageNotFound__Header {
    text-align: center;
    margin-top: 160px
}

.PageNotFound__Header .Headline_XL {
    margin-bottom: 45px
}

.PageNotFound__Header .Headline_Small {
    color: #959595;
    margin-bottom: 100px
}

.PageNotFound__Img {
    margin-bottom: 15px
}

.PageNotFound__Text {
    width: 100%;
    text-align: center;
    margin-bottom: 6px
}

.PageNotFound__Text.Last {
    margin-bottom: 100px
}

.PageNotFound__Text .Black {
    color: #000
}

.PageNotFound__Btn {
    color: #0000d5;
    cursor: pointer
}

.AcademyPage {
    position: relative;
    overflow-x: hidden;
    min-height: 100%;
    background-image: linear-gradient(156deg, #000, #0b3a4b, #008abd, #0f2026);
    text-align: center;
    font-family: DroteskNo5-Regular;
    color: #fff;
    font-size: 20px;
    font-size: 20/10rem;
    line-height: 3.6rem;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0)
}

[data-lang=ja] .AcademyPage {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 1024px) {
    .AcademyPage {
        font-size: 18px;
        font-size: 18/10rem;
        line-height: 3.6rem
    }
}

.AcademyPage svg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    fill: #fff
}

.AcademyPage .Container {
    position: relative;
    width: 60%;
    margin: 0 auto;
    max-width: 740px;
    padding: 2rem
}

@media only screen and (max-width : 1024px) {
    .AcademyPage .Container {
        width: 80%
    }
}

.AcademyPage .Container--shaded {
    background-color: #ffffff0d
}

.AcademyPage .Container hr {
    top: 0;
    width: 100%
}

.AcademyPage .Container div,
.AcademyPage .Container p,
.AcademyPage .Container hr {
    margin: 0 auto 7%
}

@media only screen and (max-width : 767px) {

    .AcademyPage .Container div,
    .AcademyPage .Container p,
    .AcademyPage .Container hr {
        margin: 0 auto 11%
    }
}

.AcademyPage .Container hr {
    margin-bottom: calc(7% - 4px)
}

@media only screen and (max-width : 1024px) {
    .AcademyPage .Container hr {
        margin-bottom: calc(11% - 4px)
    }
}

.AcademyPage .Container p {
    margin-bottom: calc(7% - 11px)
}

@media only screen and (max-width : 1024px) {
    .AcademyPage .Container p {
        margin-bottom: calc(11% - 11px)
    }
}

.AcademyPage .Container ul {
    text-align: left
}

.AcademyPage .Container ul li {
    display: list-item;
    list-style-type: disc
}

.AcademyPage .Container .Headline_Medium {
    font-family: DroteskNo5-Bold;
    font-size: 28px;
    font-size: 28/10rem;
    line-height: 1.4;
    margin-bottom: calc(7% - 6px)
}

[data-lang=ja] .AcademyPage .Container .Headline_Medium {
    font-family: NotoSansJP-Bold
}

@media only screen and (max-width : 1024px) {
    .AcademyPage .Container .Headline_Medium {
        font-size: 34px;
        font-size: 34/10rem;
        line-height: 3.6rem;
        margin-bottom: calc(11% - 11px)
    }
}

.AcademyPage .Container .Headline_Large {
    font-family: DroteskNo5-Bold;
    font-size: 38px;
    font-size: 38/10rem;
    line-height: 4.8rem;
    margin-bottom: calc(7% - 6px)
}

[data-lang=ja] .AcademyPage .Container .Headline_Large {
    font-family: NotoSansJP-Bold
}

@media only screen and (max-width : 1024px) {
    .AcademyPage .Container .Headline_Large {
        font-size: 34px;
        font-size: 34/10rem;
        line-height: 3.6rem;
        margin-bottom: calc(11% - 11px)
    }
}

.AcademyPage .Container.VideoBlock {
    width: 100%;
    min-height: 0;
    display: block
}

.AcademyPage .Container.VideoBlock div {
    margin: 0
}

.AcademyPage .Container.VideoBlock .VideoBlock__video {
    height: 33.75vw;
    max-height: 416.25px
}

@media only screen and (max-width : 767px) {
    .AcademyPage .Container.VideoBlock .VideoBlock__video {
        height: 45vw
    }
}

.AcademyPage .Container .Page__logo {
    width: 83%;
    min-height: 600px;
    height: calc(100vh - 4rem);
    max-width: 962px;
    display: flex;
    align-items: center
}

@media only screen and (max-width : 1024px) {
    .AcademyPage .Container .Page__logo {
        width: 100%;
        height: 80vh
    }
}

.AcademyPage .Container.Svg__Holder {
    width: 83%;
    min-height: 600px;
    height: 100vh;
    max-width: 962px
}

@media only screen and (max-width : 1024px) {
    .AcademyPage .Container.Svg__Holder {
        width: 100%;
        height: 80vh
    }
}

.AcademyPage .Container.Svg__Holder svg {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0)
}

.AcademyPage .Container.Svg__Holder svg .turn-on {
    z-index: 10;
    fill-opacity: .1;
    animation: turn-on 3s linear 1s normal forwards
}

.AcademyPage .Container.Svg__Holder svg .complex-blues {
    animation: warm-up 1s ease-in 2.25s normal forwards
}

.AcademyPage .Container.Svg__Holder svg .soft-light {
    opacity: 0;
    z-index: 1;
    animation: warm-up 1.5s ease-in 3s normal forwards, cycle 1s ease-in-out 6s alternate infinite
}

.AcademyPage .Container a.apply {
    font-family: DroteskNo5-Bold;
    color: #fff;
    position: relative;
    border: 4px solid white;
    display: inline-block;
    z-index: 2;
    padding: 1rem 1.5rem .8rem
}

[data-lang=ja] .AcademyPage .Container a.apply {
    font-family: NotoSansJP-Bold
}

.AcademyPage .Container a.apply:hover {
    box-shadow: 0 0 20px 3px #0cfc, 0 0 60px 6px #0cf6, inset 0 0 30px 2px #0cfc, inset 0 0 20px 2px #00ccff30;
    transition: box-shadow .3s ease-in-out
}

@keyframes turn-on {
    0% {
        fill-opacity: 1
    }

    3% {
        fill-opacity: .2
    }

    6% {
        fill-opacity: 1
    }

    7% {
        fill-opacity: .2
    }

    8% {
        fill-opacity: 1
    }

    9% {
        fill-opacity: .2
    }

    10% {
        fill-opacity: 1
    }

    to {
        fill-opacity: 1
    }
}

@keyframes warm-up {
    to {
        opacity: .8
    }
}

@keyframes cycle {
    0% {
        opacity: .8
    }

    to {
        opacity: .65
    }
}

.PageDesign {
    width: 100%;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .PageDesign {
    font-family: NotoSansJP-Regular
}

.PageDesign__Header {
    text-align: center;
    margin-top: 150px;
    margin-bottom: 50px
}

@media only screen and (max-width : 767px) {
    .PageDesign__Header {
        margin-top: 120px;
        margin-bottom: 20px
    }

    .PageDesign__Header .Headline_XL {
        max-width: 366px;
        margin: 0 auto
    }
}

.PageDesign__Blurb {
    text-align: center
}

.PageDesign__Intro {
    margin-bottom: 50px
}

.PageDesign__Intro .PageDesign__PlayButton {
    transition: all .2s;
    opacity: 0;
    cursor: pointer;
    position: absolute;
    z-index: 2;
    width: -moz-max-content;
    width: max-content;
    left: 50%;
    top: 90%;
    transform: translate(-50%, -90%)
}

.PageDesign__Intro .PageDesign__PlayButton .PageDesign__PlayButton__Label {
    color: #fff;
    padding: 0 20px
}

.PageDesign__Intro .PageDesign__PlayButton .PageDesign__PlayButton__BG {
    transition: width .2s ease-out;
    position: absolute;
    width: 0;
    height: 26px;
    background-color: #0000d5;
    top: 42%;
    z-index: -1
}

@media only screen and (max-width : 1024px) {
    .PageDesign__Intro .PageDesign__PlayButton .PageDesign__PlayButton__BG {
        height: 16px;
        top: 36%
    }
}

.PageDesign__Intro .PageDesign__PlayButton:hover .PageDesign__PlayButton__BG {
    position: absolute;
    width: 100%
}

.PageDesign__Intro:hover .PageDesign__PlayButton {
    opacity: 1
}

.PageDesign__Intro.Video {
    margin-bottom: 100px
}

@media only screen and (max-width : 767px) {
    .PageDesign__Intro.Video {
        margin-bottom: 50px
    }
}

.PageDesign__Intro__Img {
    position: relative
}

.PageDesign__Intro__Img img {
    width: 100%
}

.PageDesign__Intro__Content .BodyCopy {
    text-align: center;
    color: #959595;
    margin-top: 0;
    margin-bottom: 50px
}

@media only screen and (max-width : 767px) {
    .PageDesign__Intro__Content .BodyCopy {
        margin-bottom: 25px
    }
}

.PageDesign__Client .Row {
    align-items: center;
    margin-bottom: 100px
}

.PageDesign__Client .PageDesign__Client--img {
    padding-right: 5%
}

.PageDesign__Client .PageDesign__Client--img .Image_Zoom:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 68.56287425%
}

.PageDesign__Client .PageDesign__Client--img .Image_Zoom img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.PageDesign__Client--description {
    cursor: pointer
}

.PageDesign__Client--description .Arrow {
    margin-left: 10px
}

.PageDesign__Client--description .PageDesign__Content {
    transition: color .3s
}

.PageDesign__Client--description .PageDesign__CTA {
    width: 103px
}

.PageDesign__Client--description .Animated_Underline {
    display: inline-block;
    position: relative
}

.PageDesign__Client--description .Animated_Underline:after {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 4px;
    bottom: -4px;
    left: 0;
    background-color: #0000d5;
    transform-origin: bottom right
}

@media screen and (prefers-reduced-motion: no-preference) {
    .PageDesign__Client--description .Animated_Underline:after {
        transition: transform .3s ease-out
    }
}

.PageDesign__Client .Headline_Small {
    margin: 10px 0 20px
}

.PageDesign__Client:hover .PageDesign__Client--description .PageDesign__Content {
    color: #0000d5
}

.PageDesign__Client:hover .PageDesign__Client--description .Animated_Underline:after {
    transform: scaleX(1);
    transform-origin: bottom left
}

.PageDesign__Client:hover .PageDesign__Client--img .Image_Zoom img,
.PageDesign__Client:hover .PageDesign__Client--img .Image_Zoom .Image_Zoom__BG {
    transform: scale(1.1)
}

.PageDesign__Secondary {
    border-top: 1px solid #0000D5
}

.PageDesign__Secondary--headline {
    width: 260px;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 35px;
    margin-top: -24px;
    margin-left: -37px;
    background-color: #fff
}

.PageDesign__Secondary--headline .Arrow--down {
    margin-left: 15px
}

.PageDesign__Secondary--container {
    margin-top: 60px;
    display: flex;
    flex-flow: row wrap;
    align-items: top;
    justify-content: left;
    align-content: flex-start
}

.PageDesign__Secondary--item {
    width: 30%;
    margin-right: 5%;
    margin-bottom: 60px
}

.PageDesign__Secondary--item .Image_Zoom:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 135.63218391%
}

.PageDesign__Secondary--item .Image_Zoom img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.PageDesign__Secondary--item:nth-child(3n+3) {
    margin-right: 0
}

.PageDesign__Secondary--item .client-name {
    margin: 16px 0 12px
}

.PageDesign__Secondary--item .project-name {
    transition: color .3s
}

.PageDesign__Secondary--item:hover .project-name {
    color: #0000d5
}

.PageDesign__Secondary--item:hover .Image_Zoom img,
.PageDesign__Secondary--item:hover .Image_Zoom .Image_Zoom__BG {
    transform: scale(1.1)
}

.PageDesign__LogoSection {
    width: 100%;
    background-color: #f4f4f4;
    padding-top: 60px;
    padding-bottom: 60px
}

.PageDesign__LogoSection--headline {
    font-size: 42px;
    text-align: center;
    margin-bottom: 60px
}

.PageDesign__LogoSection__Container {
    align-items: center;
    padding: 0 12.5%
}

.PageDesign__LogoSection__Item {
    width: 16.666666%;
    padding-right: 30px;
    padding-left: 30px
}

.PageDesign__LogoSection__Item img {
    margin-bottom: 40px
}

@media only screen and (max-width : 1024px) {
    .PageDesign__Client .Row {
        margin-bottom: 50px
    }

    .PageDesign__LogoSection__Container {
        padding: 0 17%
    }

    .PageDesign__LogoSection__Item {
        width: 25%
    }
}

@media only screen and (max-width : 767px) {
    .PageDesign__Client .Row {
        margin-bottom: 40px
    }

    .PageDesign__Client .PageDesign__Client--img {
        margin-bottom: 20px;
        padding-right: 12px
    }

    .PageDesign__Secondary {
        margin-top: 100px
    }

    .PageDesign__Secondary--item {
        width: 100%;
        margin-right: 0%
    }

    .PageDesign__LogoSection__Container {
        padding: 0
    }

    .PageDesign__LogoSection__Item {
        width: 33%;
        padding: 0 7%
    }

    .PageDesign__LogoSection__Item img {
        margin-bottom: 40px
    }
}

.Careers__Header {
    text-align: center;
    margin-top: 150px
}

@media only screen and (max-width : 767px) {
    .Careers__Header {
        padding: 1%;
        margin-top: 120px
    }
}

.Careers__Intro {
    text-align: center;
    margin-top: 25px;
    margin-bottom: 60px
}

.Careers__Intro--tag {
    margin-top: 20px
}

.Careers__MainImage {
    position: relative
}

.Careers__MainImage:before {
    display: block;
    content: "";
    padding-top: 49%
}

.Careers__Interns {
    padding-top: 225px;
    padding-bottom: 75px;
    background-color: #f9f9f9;
    margin-top: -140px
}

.Careers__Interns__Img {
    text-align: center;
    position: relative
}

.Careers__Interns__Img:before {
    display: block;
    content: "";
    padding-top: 100%
}

.Careers__Interns__Content,
.Careers__General {
    text-align: left
}

.Careers__Interns__Content .Headline_Large,
.Careers__General .Headline_Large,
.Careers__Interns__Content .Headline_Small,
.Careers__General .Headline_Small {
    margin-bottom: 10px
}

.Careers__Interns__Content .Body_Light,
.Careers__General .Body_Light {
    width: 75%;
    margin-bottom: 25px
}

@media only screen and (max-width : 1024px) {

    .Careers__Interns__Content .Body_Light,
    .Careers__General .Body_Light {
        width: 100%
    }
}

@media only screen and (max-width : 767px) {

    .Careers__Interns__Content,
    .Careers__General {
        text-align: center
    }

    .Careers__Interns__Content .Headline_Large,
    .Careers__General .Headline_Large,
    .Careers__Interns__Content .Headline_Small,
    .Careers__General .Headline_Small {
        margin-bottom: 10px;
        margin-top: 20px
    }
}

.Careers__General {
    text-align: center;
    margin-bottom: 70px
}

.Careers__General .Headline_Small {
    margin-top: 20px
}

.Careers__General .Body_Light {
    margin: 0 auto 25px
}

.Careers__Listings {
    position: relative;
    margin-top: 75px;
    margin-bottom: 75px
}

.Careers__Listings__Menu {
    top: 0;
    transition: all .2s
}

.Careers__Listings__Menu.fixed {
    position: fixed
}

.Careers__Listings__Menu.absolute {
    position: absolute;
    bottom: 0
}

@media only screen and (max-width : 767px) {
    .Careers__Listings__Menu {
        display: none
    }
}

.Careers__Listings__MenuItem {
    margin-bottom: 15px;
    cursor: pointer;
    transition: color .3s
}

.Careers__Listings__MenuItem:hover,
.Careers__Listings__MenuItem:hover span,
.Careers__Listings__MenuItem:hover button {
    color: #0000d5
}

.Careers__Listings__MenuItem .Project_Caption {
    color: #000;
    line-height: 10px
}

@media only screen and (max-width : 1024px) {
    .Careers__Listings__MenuItem {
        line-height: 30px;
        margin-bottom: 15px
    }
}

.Careers__Department {
    transition: all .3s;
    margin-bottom: 25px;
    padding: 45px;
    border: 1px solid #E5E5E5;
    height: auto;
    display: block;
    width: 100%;
    cursor: pointer
}

.Careers__Department__Inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: .5rem
}

.Careers__Department:hover {
    border: 1px solid black
}

.Careers__Department:hover .Careers__DepartmentTitle {
    text-decoration: underline
}

.Careers__Department.opened {
    height: auto
}

@media only screen and (max-width : 767px) {
    .Careers__Department {
        padding: 30px
    }
}

.Careers__DepartmentTitle {
    grid-column: 1 / 3
}

.Careers__Department__Arrow {
    display: inline-flex;
    height: 1ex;
    margin-left: 2rem;
    justify-content: center;
    align-items: center
}

.Careers__Department__Arrow svg {
    width: 20px;
    height: 20px;
    transform: rotate(90deg)
}

.Careers__Department__Arrow svg * {
    stroke: currentColor
}

.Careers__DepartmentDetail {
    grid-column: 1 / 3;
    height: 0;
    overflow: hidden
}

@media only screen and (max-width : 767px) {
    .Careers__DepartmentDetail {
        width: 100%
    }
}

.Careers__DepartmentDetail .CTA__Button {
    margin-top: 1rem
}

.Careers__Job__Container {
    margin-bottom: 35px;
    transition: all .3s;
    min-height: 0px
}

.Careers__Job__Container.open {
    min-height: 300px
}

.Careers__Department__Empty {
    width: 80%;
    margin-bottom: 35px
}

@media only screen and (max-width : 767px) {
    .Careers__Department__Empty {
        width: 100%
    }
}

.Careers__Department__Job {
    text-transform: uppercase;
    cursor: pointer;
    transition: color .3s
}

.Careers__Department__Job:hover,
.Careers__Department__Job:hover span,
.Careers__Department__Job:hover button {
    color: #0000d5
}

@media only screen and (max-width : 767px) {
    .Careers__Department__Job {
        font-size: 14px
    }
}

.JobDropdown__More {
    height: 50px;
    border-top: 1px solid #E5E5E5;
    display: flex;
    align-items: center;
    cursor: pointer
}

.JobDropdown__Label {
    padding-bottom: 4px;
    cursor: pointer;
    transition: color .3s
}

.JobDropdown__Label:hover,
.JobDropdown__Label:hover span,
.JobDropdown__Label:hover button {
    color: #0000d5
}

.JobDropdown__Arrow {
    transition: all .2s;
    margin-left: 10px
}

.JobDropdown__Arrow.open {
    transform: rotate(-180deg);
    transform-origin: 50% 50%
}

.internships {
    padding-top: 100px;
    font-family: DroteskNo5-Regular;
    -webkit-font-smoothing: antialiased;
    background-color: #f4f4f4
}

[data-lang=ja] .internships {
    font-family: NotoSansJP-Regular
}

.internships h2,
.internships h3,
.internships h4 {
    line-height: 1.2
}

.internships p {
    font-size: 16px;
    line-height: 1.875;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}

.page-body {
    padding-bottom: 0
}

.i_section {
    padding: 1.5rem;
    background-color: #fff
}

.i_section.-dark {
    background-color: #f4f4f4;
    color: #9ea7aa
}

.i_section__title {
    font-size: 32px;
    padding-top: 42px;
    color: #000;
    font-family: DroteskNo5-Medium
}

[data-lang=ja] .i_section__title {
    font-family: NotoSansJP-Medium
}

@media only screen and (min-width: 480px) {
    .i_section__title {
        font-size: 42px
    }
}

.i_section--hero {
    display: flex;
    flex-direction: column
}

@media only screen and (min-width: 737px) {
    .i_section--hero {
        flex-direction: row
    }

    .i_section--hero>* {
        padding: 1.5rem
    }
}

.i_hero__text {
    margin-left: auto;
    margin-right: auto;
    padding-top: 42px;
    padding-bottom: 0;
    margin-bottom: 40px
}

.i_hero__text p {
    max-width: 600px;
    color: #000
}

.i_hero__text em {
    color: #000;
    font-style: normal
}

@media only screen and (min-width: 737px) {
    .i_hero__text {
        width: 50%;
        padding-top: 20%;
        margin-left: 0;
        align-self: flex-end
    }
}

@media (min-width: 1200px) {
    .i_hero__text {
        padding-top: 270px
    }
}

.i_hero__image {
    padding-top: 1.5rem
}

@media only screen and (min-width: 737px) {
    .i_hero__image {
        margin-left: auto
    }
}

.i_hero__image img {
    width: 100%;
    max-width: 400px;
    display: block;
    margin: auto
}

.i_hero__image.i_hero__image--wide {
    display: none
}

.i_hero__image.i_hero__image--wide img {
    max-width: 600px
}

@media only screen and (min-width: 737px) {
    .i_hero__image {
        margin-left: auto;
        display: none;
        width: 50%
    }

    .i_hero__image.i_hero__image--wide {
        display: block
    }

    .i_hero__image.i_hero__image--wide img {
        margin-right: -64px
    }
}

.i_hero__image .titles {
    float: right
}

@media only screen and (max-width: 736px) {
    .i_hero__image .titles {
        float: none
    }
}

.i_hero__image .title1 {
    color: #000;
    font-size: 90px;
    font-family: DroteskNo5-Medium;
    margin-bottom: 45px;
    max-width: 520px
}

[data-lang=ja] .i_hero__image .title1 {
    font-family: NotoSansJP-Medium
}

@media only screen and (min-width: 737px) and (max-width: 995px) {
    .i_hero__image .title1 {
        font-size: 75px
    }
}

@media only screen and (max-width: 736px) {
    .i_hero__image .title1 {
        margin-left: auto;
        margin-right: auto
    }
}

.i_hero__image .title2 {
    color: #d05005;
    font-size: 90px;
    font-family: DroteskNo5-Medium;
    margin-bottom: 15px;
    max-width: 520px
}

[data-lang=ja] .i_hero__image .title2 {
    font-family: NotoSansJP-Medium
}

@media only screen and (min-width: 737px) and (max-width: 995px) {
    .i_hero__image .title2 {
        font-size: 75px
    }
}

@media only screen and (max-width: 736px) {
    .i_hero__image .title2 {
        margin-left: auto;
        margin-right: auto
    }
}

.i_hero__image .title3 {
    color: #d05005;
    font-size: 16px;
    font-family: DroteskNo5-Medium;
    max-width: 520px
}

[data-lang=ja] .i_hero__image .title3 {
    font-family: NotoSansJP-Medium
}

@media only screen and (max-width: 736px) {
    .i_hero__image .title3 {
        margin-left: auto;
        margin-right: auto
    }
}

.i_section--timeline {
    padding-top: 3.6rem
}

.i_timeline__entry {
    max-width: 400px;
    margin: 0 auto;
    display: flex;
    flex-direction: column
}

@media only screen and (max-width: 736px) {
    .i_timeline__entry {
        border-left: 2px solid #9EA7AA;
        padding-left: 1.5rem;
        padding-top: 1.8rem
    }

    .i_timeline__entry>* {
        position: relative;
        top: -2.34rem
    }

    .i_timeline__entry:last-child {
        border-color: transparent
    }
}

.i_timeline__entry.i_timeline__entry--expired .i_timeline__time {
    color: #d05005
}

.i_timeline__entry.i_timeline__entry--expired .i_timeline__time:after {
    background-color: #d05005
}

@media only screen and (max-width : 767px) {
    .i_timeline__entry.i_timeline__entry--expired .i_timeline__time:after {
        background-color: #d05005
    }
}

.i_timeline__entry.i_timeline__entry--expired .i_timeline__title,
.i_timeline__entry.i_timeline__entry--expired .i_timeline__text {
    opacity: 1
}

.i_timeline__time {
    font-size: 16px;
    color: #d05005
}

@media only screen and (max-width: 736px) {
    .i_timeline__time:before {
        content: " ";
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: #d05005;
        border: 2px solid #F8F8F8;
        z-index: 9;
        position: absolute;
        top: 1px;
        right: -40px;
        left: -24px
    }
}

@media only screen and (max-width: 736px) and only screen and (max-width : 767px) {
    .i_timeline__time:before {
        background-color: #d05005
    }
}

.i_timeline__title {
    font-size: 32px;
    color: #000;
    margin-top: 1.5rem / 2;
    font-family: DroteskNo5-Medium
}

[data-lang=ja] .i_timeline__title {
    font-family: NotoSansJP-Medium
}

@media only screen and (min-width: 480px) {
    .i_timeline__title {
        font-size: 42px
    }
}

p.i_timeline__text {
    color: #d05005
}

.i_section--video {
    position: relative;
    padding-top: 1.5rem;
    padding-bottom: 6rem
}

.i_video__rule {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    margin-left: -1.5rem;
    display: flex;
    flex-direction: column
}

.i_video__rule>* {
    width: 100%
}

.i_rule.-top {
    height: 30%;
    background-color: #f8f8f8
}

.i_rule.-bot {
    height: 70%;
    background-color: #000
}

.i_video-wrap {
    max-width: 1100px;
    margin: auto
}

.i_video {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    display: block
}

.i_section--jobs a {
    color: #000;
    font-family: DroteskNo5-Medium
}

[data-lang=ja] .i_section--jobs a {
    font-family: NotoSansJP-Medium
}

.i_section--jobs a:hover,
.i_section--jobs a:focus {
    color: #d05005
}

.i_section-nav {
    max-width: 320px;
    margin: 0 auto
}

@media only screen and (min-width: 480px) {
    .i_section-nav {
        max-width: 400px
    }
}

.i_section-nav ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap
}

.i_section-nav__item {
    font-size: 18px;
    padding: 1.5rem / 2;
    font-family: DroteskNo5-Medium
}

[data-lang=ja] .i_section-nav__item {
    font-family: NotoSansJP-Medium
}

.i_department {
    padding-top: 1.8rem;
    border-bottom: 2px solid #959595;
    padding-bottom: 1.8rem;
    margin-bottom: 1.8rem;
    max-width: 900px;
    margin: auto;
    position: relative
}

.i_department:focus {
    outline: none !important
}

.i_department:last-child {
    border-bottom: 0
}

@media only screen and (min-width: 480px) {
    .i_department {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-around
    }

    .i_department>* {
        padding: 1.5rem 0
    }
}

.i_department__image>img {
    height: 300px;
    width: 300px;
    max-width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    margin: 0 auto
}

@media only screen and (min-width: 480px) {
    .i_department__image {
        margin-left: auto;
        margin-bottom: -64px
    }
}

@media only screen and (min-width: 737px) {
    .i_department__image {
        position: absolute;
        top: 0;
        right: 0;
        height: 300px
    }
}

.i_position {
    margin-bottom: 84px;
    width: 100%;
    min-height: 301px
}

@media only screen and (min-width: 480px) {
    .i_position {
        display: flex;
        flex-direction: column;
        align-items: flex-start
    }

    .i_position:nth-child(2n) {
        align-items: flex-end
    }

    .i_position>* {
        width: 100%;
        z-index: 9;
        max-width: 450px
    }
}

@media only screen and (min-width: 737px) {
    .i_position.-first {
        padding-top: 225px
    }
}

@media only screen and (min-width: 960px) {
    .i_position.-first {
        padding-top: 300px/4
    }
}

@media only screen and (min-width: 737px) {
    .i_department:nth-child(2n) .i_department__image {
        right: auto;
        left: 0
    }
}

.i_department:nth-child(2n) .i_position {
    align-items: flex-start
}

.i_department:nth-child(2n) .i_position:nth-child(odd) {
    align-items: flex-end
}

.i_position__title {
    font-size: 32px;
    color: #000;
    font-family: DroteskNo5-Medium
}

[data-lang=ja] .i_position__title {
    font-family: NotoSansJP-Medium
}

@media only screen and (min-width: 480px) {
    .i_position__title {
        font-size: 42px
    }
}

.i_position__text {
    font-size: 1.5rem;
    color: #d05005
}

a.i_position__link {
    font-family: GT Pressura, sans-serif;
    font-size: 18px;
    color: #9ea7aa;
    text-transform: uppercase
}

.i_position__link-wrap {
    font-size: 16px
}

@supports (grid-row-end: -1) {
    @media only screen and (min-width: 737px) {
        .i_grid {
            display: grid;
            grid-column-gap: 2.3rem;
            grid-template-rows: auto
        }

        .i_grid--timeline {
            grid-template-columns: 1fr 2px 2fr;
            max-width: 900px
        }

        .i_grid--timeline .i_grid__rail {
            grid-column: 1
        }

        .i_grid--timeline .i_grid__main {
            grid-column: 3;
            padding-left: 3rem
        }

        .i_timeline__rule {
            position: relative;
            grid-row: 1 / span 3;
            grid-column: 2;
            background-color: #959595
        }

        .i_timeline__rule.-first {
            top: 50px
        }

        .i_timeline__entry:last-child .i_timeline__rule {
            bottom: 140px
        }

        .i_timeline__time,
        .i_timeline__title {
            align-self: center;
            margin-top: 1.8rem
        }

        .i_timeline__text {
            margin-top: 0;
            padding-bottom: 3rem
        }

        .i_timeline__time {
            position: relative;
            text-align: right
        }

        .i_timeline__time:after {
            content: " ";
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: #d05005;
            border: 2px solid #F8F8F8;
            z-index: 9;
            position: absolute;
            top: 1px;
            right: -32px
        }

        .i_grid--jobs {
            margin: auto;
            max-width: 1100px;
            grid-template-columns: 140px minmax(400px, 900px);
            grid-gap: 6rem;
            justify-content: center
        }

        .i_grid--jobs .i_section-nav {
            margin: 0
        }

        .i_grid--jobs .i_section-nav ul {
            flex-direction: column;
            padding-top: 1.5rem
        }

        .i_grid--jobs .i_section-nav__item {
            padding-bottom: 42px
        }

        .i_position {
            margin-bottom: 1.5rem
        }
    }

    @media only screen and (min-width: 737px) and only screen and (max-width : 767px) {
        .i_timeline__time:after {
            background-color: #d05005
        }
    }

    @media only screen and (min-width: 960px) {
        .i_grid--jobs .i_section-nav ul {
            padding-top: 99px
        }
    }
}

.i_section--conditions {
    color: #d05005;
    position: relative;
    background: #f4f4f4;
    z-index: 2
}

.i_section--conditions .i_section__title {
    margin-bottom: 1.5rem
}

.i_section--conditions p {
    margin-bottom: 0;
    margin-top: 0;
    color: #000
}

.i_section--conditions>* {
    max-width: 1100px;
    margin: auto
}

@supports (grid-row-end: -1) {
    @media only screen and (min-width: 737px) {
        .js-fixed {
            opacity: 1;
            transition: .4s ease opacity;
            position: fixed;
            top: 0;
            left: 0;
            z-index: 10;
            z-index: 1
        }

        .js-resizing {
            transition: .4s ease opacity;
            opacity: 0
        }
    }
}

.a11y {
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px
}

.page-body {
    background: #000
}

.i_content {
    font-family: DroteskNo5-Medium;
    -webkit-font-smoothing: antialiased
}

[data-lang=ja] .i_content {
    font-family: NotoSansJP-Medium
}

.i_content .alert {
    background: #0000d5;
    font-family: DroteskNo5-Medium;
    font-size: 16px
}

[data-lang=ja] .i_content .alert {
    font-family: NotoSansJP-Medium
}

.i_content .h1 {
    font-weight: 700;
    color: #fff;
    font-size: 28px;
    line-height: 28px
}

@media (min-width: 800px) {
    .i_content .h1 {
        font-size: 36px;
        line-height: 36px
    }
}

.i_content .h2 {
    color: #000;
    font-weight: 700
}

.i_content .h3 {
    color: #9ea7aa;
    font-family: GT Pressura;
    text-transform: uppercase;
    font-size: 16px
}

.i_content .text-block {
    color: #9ea7aa
}

.i_content .text-block[text-size=small] {
    font-size: 16px;
    line-height: 30px
}

.i_content .text-block *+p {
    margin-top: 1.5em
}

.i_content .text-block *+h1,
.i_content .text-block *+h2,
.i_content .text-block *+h3,
.i_content .text-block *+h4,
.i_content .text-block *+h5,
.i_content .text-block *+h6 {
    margin-top: 2em
}

.i_content .text-block ul {
    padding-left: 16px;
    font-size: 14px;
    line-height: 1.4
}

.i_content .text-block ul li {
    position: relative;
    padding-left: 6px
}

.i_content .text-block ul li+li {
    margin-top: 1em
}

.i_content .text-block ul li:before {
    position: absolute;
    content: " ";
    border-radius: 50%;
    width: 4px;
    height: 4px;
    display: block;
    top: 9px;
    left: -1em;
    background: #d05005
}

.i_content .level {
    background: #f9f9f9
}

.i_content .fieldset .fieldset__field.error .label--question:after {
    font-family: GT Pressura;
    text-transform: uppercase
}

.i_content .fieldset label {
    font-family: DroteskNo5-Medium
}

[data-lang=ja] .i_content .fieldset label {
    font-family: NotoSansJP-Medium
}

.i_content .fieldset input[type=email],
.i_content .fieldset input[type=text],
.i_content .fieldset input[type=url],
.i_content .fieldset textarea {
    border-radius: 0;
    font-family: GT Pressura;
    font-size: 16px
}

.i_content .fieldset textarea {
    box-sizing: border-box;
    background: #f8f8f8;
    border: none;
    resize: none;
    width: 100%;
    height: 128px;
    padding: 8px
}

.i_content .fieldset textarea:focus {
    outline: 1px solid #92b5c7
}

.i_content .fieldset label.label--question {
    margin-top: 10px
}

.i_content .fieldset .fieldset__field.error .label--question:after {
    position: static;
    top: auto;
    left: auto;
    display: inline
}

.i_content .fieldset label.label--multiselect {
    font-family: GT Pressura;
    font-size: 14px
}

.i_content .fieldset input[type=checkbox]+label.checkbox__sub:before,
.i_content .fieldset input[type=radio]+label.checkbox__sub:before {
    background: #0000d5
}

input[type=checkbox] .i_content .fieldset+label.checkbox__sub {
    border-radius: 0
}

.i_level--hero {
    background: #000 !important
}

.i_level--hero .level-inner {
    padding-top: 80px !important;
    padding-bottom: 24px !important;
    position: relative;
    overflow: hidden;
    z-index: 1
}

@media (min-width: 800px) {
    .i_level--hero .level-inner {
        padding-bottom: 36px !important
    }
}

.i_level--hero__illo {
    position: absolute;
    top: 0;
    bottom: 20%;
    right: 0;
    z-index: -1;
    height: 80%;
    width: auto
}

@media (min-width: 600px) {
    .i_level--hero__illo {
        bottom: 0;
        height: 100%
    }
}

.i_level--hero__breadcrumbs {
    font-family: GT Pressura;
    color: #666;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: .5rem
}

.i_level--hero__breadcrumbs a {
    color: #666
}

.i_job-application__meta {
    margin: .5rem 0 2rem
}

.i_job-application {
    margin-top: 16px
}

a.i_link-cta {
    display: inline-block;
    margin: 2rem 0 0 8px;
    color: #000000e6;
    text-align: left;
    border: 1px solid rgba(0, 0, 0, .25);
    padding: 8px 24px;
    border-radius: 999px;
    transition: all .2s
}

a.i_link-cta:hover {
    color: #000;
    border-color: #00000080
}

@media (min-width: 800px) {
    a.i_link-cta {
        margin-left: -25px
    }
}

.JobDetail .HeroImage {
    background-image: url(/wp-content/uploads/2018/04/CareerDetail_Hero.png)
}

.JobDetail__Content {
    margin-top: 75px;
    margin-bottom: 75px
}

.JobDetail__PageTitle {
    margin-bottom: 10px
}

.JobDetail__Title,
.JobDetail__Location {
    margin-bottom: 0
}

@media only screen and (max-width : 1024px) {
    .JobDetail__Title {
        font-size: 42px;
        margin-bottom: 10px
    }
}

@media only screen and (max-width : 767px) {
    .JobDetail__Title {
        font-size: 28px
    }
}

@media only screen and (max-width : 1024px) {
    .JobDetail__Location {
        margin-bottom: 30px
    }
}

.JobDetail__Description p {
    font-family: DroteskNo5-Regular;
    color: #000;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 50px
}

@media only screen and (max-width : 1024px) {
    .JobDetail__Description p {
        font-size: 14px;
        line-height: 22px
    }
}

[data-lang=ja] .JobDetail__Description p {
    font-family: NotoSansJP-Regular
}

.JobDetail__Description p:nth-child(2) {
    font-family: DroteskNo5-Regular;
    color: #000;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 50px
}

@media only screen and (max-width : 1024px) {
    .JobDetail__Description p:nth-child(2) {
        font-size: 14px;
        line-height: 22px
    }
}

[data-lang=ja] .JobDetail__Description p:nth-child(2) {
    font-family: NotoSansJP-Regular
}

.JobDetail__Description ul {
    font-family: DroteskNo5-Regular;
    font-size: 16px;
    line-height: 26px;
    color: #9ea7aa;
    list-style-type: disc;
    margin-bottom: 30px;
    margin-left: 18px
}

@media only screen and (max-width : 1024px) {
    .JobDetail__Description ul {
        font-size: 14px;
        line-height: 22px
    }
}

[data-lang=ja] .JobDetail__Description ul {
    font-family: NotoSansJP-Regular
}

.JobDetail__Description ul p+p {
    margin-top: 16px
}

.JobDetail__Description li {
    display: list-item;
    list-style-type: disc
}

.JobDetail__Description span {
    text-decoration: none !important
}

.JobDetail__Application {
    padding-top: 100px;
    padding-bottom: 100px;
    background-color: #f4f4f4
}

.JobDetail__Application__Header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 50px
}

.JobDetail__Application__Form input:-webkit-autofill,
.JobDetail__Application__Form textarea:-webkit-autofill {
    -webkit-text-fill-color: black;
    -webkit-box-shadow: 0 0 0px 1000px #f4f4f4 inset
}

.JobDetail__Application__Form input:-webkit-autofill:focus,
.JobDetail__Application__Form textarea:-webkit-autofill:focus {
    -webkit-text-fill-color: black
}

.JobDetail__Application__Form input[type=text] {
    transition: all .3s;
    width: 100%;
    border: none;
    font-family: DroteskNo5-Regular;
    font-size: 14px;
    border-bottom: 2px solid #959595;
    background: none;
    padding: 5px;
    margin-bottom: 40px;
    border-radius: 0;
    box-shadow: none
}

[data-lang=ja] .JobDetail__Application__Form input[type=text] {
    font-family: NotoSansJP-Regular
}

@media only screen and (max-width : 767px) {
    .JobDetail__Application__Form input[type=text] {
        font-size: 8px
    }
}

.JobDetail__Application__Form input[type=text]:nth-child(1),
.JobDetail__Application__Form input[type=text]:nth-child(3) {
    width: 46%;
    margin-right: 4%
}

@media only screen and (max-width : 767px) {

    .JobDetail__Application__Form input[type=text]:nth-child(1),
    .JobDetail__Application__Form input[type=text]:nth-child(3) {
        width: 100%;
        margin-right: 0
    }
}

.JobDetail__Application__Form input[type=text]:nth-child(2),
.JobDetail__Application__Form input[type=text]:nth-child(4) {
    width: 46%;
    margin-left: 4%
}

@media only screen and (max-width : 767px) {

    .JobDetail__Application__Form input[type=text]:nth-child(2),
    .JobDetail__Application__Form input[type=text]:nth-child(4) {
        width: 100%;
        margin-left: 0
    }
}

.JobDetail__Application__Form input[type=text]:focus {
    border-bottom: 2px solid #0000D5
}

.JobDetail__Application__Form input[type=text].invalid {
    border-bottom: 2px solid #EF4346
}

.JobDetail__Application__Form input[type=text].valid {
    border-bottom: 2px solid #5FE574
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox {
    font-family: DroteskNo5-Regular;
    font-size: 16px;
    line-height: 26px;
    color: #9ea7aa;
    line-height: 30px;
    width: 33%;
    display: inline-block;
    position: relative;
    padding-left: 45px;
    margin: 14px 0;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

@media only screen and (max-width : 1024px) {
    .JobDetail__Application__Form .JobDetail__Application_Checkbox {
        font-size: 14px;
        line-height: 22px
    }
}

[data-lang=ja] .JobDetail__Application__Form .JobDetail__Application_Checkbox {
    font-family: NotoSansJP-Regular
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox p+p {
    margin-top: 16px
}

@media only screen and (max-width : 767px) {
    .JobDetail__Application__Form .JobDetail__Application_Checkbox {
        width: 100%
    }
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    border-radius: 0
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox .checkmark {
    position: absolute;
    top: 0;
    left: -20;
    height: 30px;
    width: 30px;
    background-color: #fff;
    border: 1px solid #9EA7AA
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox:hover input~.checkmark {
    background-color: #ccc
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox input:checked~.checkmark {
    background-color: #0000d5
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox input:checked~.checkmark:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    top: 5px;
    left: 5px;
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTUgMTUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE1IDE1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhPjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzcgNzkuMTU5NzY4LCAyMDE2LzA4LzExLTEzOjI0OjQyICAgICAgICAiPiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+ICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIvPiAgIDwvcmRmOlJERj48L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz48L21ldGFkYXRhPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMTMuNSwyLjkgNS4xLDExLjQgMS41LDcuOSAiLz48L3N2Zz4=)
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox:after {
    content: "";
    position: absolute;
    display: none
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox input:checked~.checkmark:after {
    display: block
}

.JobDetail__Application__Form .JobDetail__Application_Checkbox .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg)
}

.JobDetail__Application__FormSection {
    margin-bottom: 70px;
    font-family: DroteskNo5-Regular;
    font-size: 16px;
    line-height: 26px;
    color: #9ea7aa;
    color: #0000d5;
    cursor: pointer;
    display: flex;
    flex-flow: wrap
}

@media only screen and (max-width : 1024px) {
    .JobDetail__Application__FormSection {
        font-size: 14px;
        line-height: 22px
    }
}

[data-lang=ja] .JobDetail__Application__FormSection {
    font-family: NotoSansJP-Regular
}

.JobDetail__Application__FormSection p+p {
    margin-top: 16px
}

.JobDetail__Application__FormSection .Headline_Small {
    width: 100%
}

.JobDetail__Application__FormSection input[type=file] {
    position: absolute;
    left: -99999rem
}

.JobDetail__Application__FormSection span {
    margin-left: 20px;
    color: #9ea7aa
}

.JobDetail__Application__FormSection .RequiredMark {
    color: #000;
    margin-left: 4px
}

.JobDetail__Application_Success {
    font-size: 14px;
    color: #5fe574;
    margin-left: 15px;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .JobDetail__Application_Success {
    font-family: NotoSansJP-Regular
}

.JobDetail__Application_SubmitHolder {
    margin-top: 20px;
    display: flex;
    align-items: center
}

.JobDetail__Application_Notice {
    margin-top: 50px
}

.JobDetail__Application_Notice p {
    font-family: DroteskNo5-Regular;
    color: #000;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 10px;
    font-style: italic
}

@media only screen and (max-width : 1024px) {
    .JobDetail__Application_Notice p {
        font-size: 14px;
        line-height: 22px
    }
}

[data-lang=ja] .JobDetail__Application_Notice p {
    font-family: NotoSansJP-Regular
}

.JobDetail__Application_Notice a {
    text-decoration: underline
}

.JobDetail__Application_Notice a:hover {
    text-decoration: none
}

:root {
    --cool-grey: #9ea7aa;
    --cool-grey-two: #949799;
    --pale-salmon: #ffb78c;
    --pale-teal: #86d1bb;
    --pig-pink: #e4838f;
    --black-two: #000000
}

.News .Header {
    position: relative;
    height: auto;
    display: flex;
    min-height: 700px;
    background-color: #f4f4f4;
    left: 0;
    top: 0;
    overflow: hidden
}

@media only screen and (max-width : 1024px) {
    .News .Header {
        min-height: 455px;
        padding-top: 100px
    }
}

@media only screen and (max-width : 767px) {
    .News .Header {
        min-height: 493px;
        padding-top: 150px
    }
}

.News .News__Header {
    text-align: center;
    margin-top: 150px
}

@media only screen and (max-width : 767px) {
    .News .News__Header {
        margin-top: 120px
    }
}

.News .News__Header .Headline_XL {
    max-width: 70%;
    margin: 0 auto;
    text-align: center
}

@media only screen and (max-width: 1089px) {
    .News .News__Header .Headline_XL {
        max-width: 80%
    }
}

@media only screen and (max-width : 1024px) {
    .News .News__Header .Headline_XL {
        font-size: 8vw;
        line-height: 9vw;
        max-width: 72%
    }
}

.News__HeaderContent {
    position: relative;
    padding-bottom: 100px;
    padding-top: 100px;
    width: 100%
}

.Flex {
    display: flex;
    flex-flow: row wrap
}

.space-between {
    justify-content: space-between
}

.Filter--mobile {
    display: none
}

.Categories {
    position: absolute;
    background-color: #fff;
    left: 0;
    right: 0;
    margin: 0 auto
}

.Filter,
.Filter--mobile {
    padding-top: 10rem;
    margin: 0 auto 50px;
    text-align: center
}

.Filter .link,
.Filter--mobile .link {
    transition: color .3s;
    display: inline-block;
    font-family: DroteskNo5-Regular;
    font-size: 2rem;
    line-height: 3rem;
    text-align: center;
    margin: 0 2%;
    cursor: pointer
}

[data-lang=ja] .Filter .link,
[data-lang=ja] .Filter--mobile .link {
    font-family: NotoSansJP-Regular
}

.Filter .link .Underline,
.Filter--mobile .link .Underline {
    transition: width .2s ease-out;
    width: 0px;
    height: 4px;
    background-color: #0000d5;
    margin: 0
}

.Filter .link.active,
.Filter--mobile .link.active {
    color: #0000d5
}

.Filter .link.active .Underline,
.Filter--mobile .link.active .Underline {
    width: 100%
}

@media only screen and (min-width : 1025px) {

    .Filter .link:hover,
    .Filter--mobile .link:hover {
        color: #0000d5
    }

    .Filter .link:hover .Underline,
    .Filter--mobile .link:hover .Underline {
        width: 100%
    }
}

.SignUp {
    font-family: DroteskNo5-Regular;
    font-size: 2rem;
    line-height: 3;
    text-align: center;
    margin: 0 2%
}

[data-lang=ja] .SignUp {
    font-family: NotoSansJP-Regular
}

.SignUp__Form {
    display: flex;
    justify-content: center
}

.Feature__List {
    justify-content: space-between;
    margin: 10% auto;
    padding: 4% 0
}

.Feature__List--padding {
    padding: 10% 0
}

.Feature__Container {
    margin-bottom: 50px
}

.Feature {
    margin-bottom: 32px;
    cursor: pointer
}

.Feature .Feature__Title {
    transition: color .3s;
    width: 90%
}

.Feature .NewsImage .Image_Zoom {
    position: relative
}

.Feature .NewsImage .Image_Zoom:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 58.13397129%
}

.Feature .NewsImage .Image_Zoom img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Feature:hover .Feature__Title {
    color: #0000d5
}

.Feature:hover .NewsImage .Image_Zoom img,
.Feature:hover .NewsImage .Image_Zoom .Image_Zoom__BG {
    transform: scale(1.1)
}

.NewsImage {
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    border: 1px solid #F4F8FA
}

.Feature__Main {
    cursor: pointer
}

.Feature__Main .Feature__MainTitle {
    transition: color .3s;
    width: 90%
}

.Feature__Main .NewsImage .Image_Zoom {
    position: relative
}

.Feature__Main .NewsImage .Image_Zoom:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 88.65546218%
}

.Feature__Main .NewsImage .Image_Zoom img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Feature__Main:hover .Feature__MainTitle {
    color: #0000d5
}

.Feature__Main:hover .NewsImage .Image_Zoom img,
.Feature__Main:hover .NewsImage .Image_Zoom .Image_Zoom__BG {
    transform: scale(1.1)
}

.Feature__Image {
    position: relative;
    margin-bottom: 25px
}

.Feature__Image img {
    width: 100%;
    height: auto
}

.Feature__Image--main {
    margin-bottom: 25px
}

.Feature__Source {
    color: #000;
    margin: 15px 0
}

.Articles__Container {
    min-height: 50%
}

.Articles__Item {
    margin-bottom: 75px;
    cursor: pointer
}

.Articles__Item .Articles__Title {
    transition: color .3s
}

.Articles__Item .NewsImage .Image_Zoom {
    position: relative
}

.Articles__Item .NewsImage .Image_Zoom:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 57.95053004%
}

.Articles__Item .NewsImage .Image_Zoom img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.Articles__Item:hover .Articles__Title {
    color: #0000d5
}

.Articles__Item:hover .NewsImage .Image_Zoom img,
.Articles__Item:hover .NewsImage .Image_Zoom .Image_Zoom__BG {
    transform: scale(1.1)
}

.Category {
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    position: absolute;
    padding: 8px 18px;
    bottom: -15px;
    left: 1;
    z-index: 10;
    background-color: #d05005
}

.Category.relative {
    position: relative;
    bottom: auto
}

.Category.Buzz,
.Category.Kudos,
.Category.Thoughts,
.Category.Updates {
    background-color: #d05005
}

.Category--main-feature {
    bottom: -15px
}

.ViewMore {
    text-align: center;
    padding: 5% 0 70px;
    width: -moz-max-content;
    width: max-content;
    margin: 0 auto
}

.SignUp {
    background-color: #f4f4f4;
    padding: 5% 0;
    margin: 0
}

.SignUp input:-webkit-autofill,
.SignUp textarea:-webkit-autofill {
    -webkit-text-fill-color: black;
    -webkit-box-shadow: 0 0 0px 1000px #f4f4f4 inset
}

.SignUp input:-webkit-autofill:focus,
.SignUp textarea:-webkit-autofill:focus {
    -webkit-text-fill-color: black
}

.SignUp .Body_Dark {
    margin-bottom: 50px
}

@media only screen and (max-width : 767px) {
    .SignUp .Headline_Large {
        line-height: 42px;
        font-weight: inherit;
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 36px;
        color: #000;
        width: 70%;
        margin-left: 15%
    }

    [data-lang=ja] .SignUp .Headline_Large {
        font-family: NotoSansJP-Regular
    }

    .SignUp .Body_Dark {
        width: 70%;
        margin-left: 15%
    }
}

@media only screen and (max-width : 767px) and only screen and (max-width : 1024px) {
    .SignUp .Headline_Large {
        font-size: 20px;
        line-height: 25px
    }
}

.SignUp__input {
    border-radius: 0;
    font-family: DroteskNo5-Medium;
    font-size: 16px;
    color: #949799;
    color: var(--cool-grey-two);
    line-height: 2;
    width: 32%;
    border: none;
    border-bottom: 2px solid #e5e5e5;
    background-color: transparent;
    transition: all .3s ease;
    margin-right: 10px;
    margin-bottom: 0
}

[data-lang=ja] .SignUp__input {
    font-family: NotoSansJP-Medium
}

.SignUp__input:focus {
    border-bottom: 2px solid #0000D5
}

.SignUp__input.invalid {
    border-bottom: 2px solid #EF4346
}

.SignUp__input.valid {
    border-bottom: 2px solid #5FE574
}

@media only screen and (max-width : 767px) {
    .SignUp__input {
        width: 80%
    }
}

.SignUp__button {
    font-family: DroteskNo5-Medium;
    line-height: 1.2;
    transition: all .3s ease;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    display: inline-block;
    padding: 11px 30px;
    cursor: pointer;
    margin-left: 20px
}

[data-lang=ja] .SignUp__button {
    font-family: NotoSansJP-Medium
}

.SignUp__button:hover {
    background-color: #0000d5;
    color: #fff
}

.SignUp__button.inactive {
    opacity: .5;
    pointer-events: none
}

@media only screen and (max-width : 767px) {
    .SignUp__button {
        margin: 20px auto
    }
}

.SignUp__Message {
    font-family: DroteskNo5-Regular;
    font-size: 14px;
    color: #5fe574
}

[data-lang=ja] .SignUp__Message {
    font-family: NotoSansJP-Regular
}

.slide-enter-active,
.slide-leave-active {
    transition: transform 1s
}

.slide-enter,
.slide-leave-to {
    transform: translateY(-150%)
}

.list-enter-active,
.list-leave-active {
    transition: all 1s
}

.list-leave {
    opacity: 0
}

.list-enter {
    transform: translateY(100vh)
}

@media only screen and (max-width : 1024px) {
    .Feature__Main {
        margin-bottom: 25px
    }

    .Feature {
        width: 100%
    }
}

@media only screen and (max-width : 767px) {
    .Feature {
        width: 100%;
        max-width: 100%;
        margin-bottom: 75px
    }

    .Feature__Main--column {
        display: block;
        justify-content: unset
    }

    .Articles__Item {
        width: 100%
    }

    .Articles__Container {
        justify-content: unset;
        padding-left: 0;
        padding-right: 0
    }
}

.People {
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .People {
    font-family: NotoSansJP-Regular
}

.People .Header {
    position: relative;
    height: auto;
    display: flex;
    min-height: 700px;
    background-color: #f4f4f4;
    left: 0;
    top: 0;
    overflow: hidden
}

@media only screen and (max-width : 1024px) {
    .People .Header {
        min-height: 455px;
        padding-top: 100px
    }
}

@media only screen and (max-width : 767px) {
    .People .Header {
        min-height: 493px;
        padding-top: 150px
    }
}

.People .People__Header {
    text-align: center;
    margin-top: 150px
}

@media only screen and (max-width : 767px) {
    .People .People__Header {
        margin-top: 120px
    }
}

.People .People__Header .Headline_XL {
    max-width: 70%;
    margin: 0 auto
}

@media only screen and (max-width: 1089px) {
    .People .People__Header .Headline_XL {
        max-width: 80%
    }
}

@media only screen and (max-width : 1024px) {
    .People .People__Header .Headline_XL {
        font-size: 8vw;
        line-height: 9vw;
        max-width: 72%
    }
}

.People .People__HeaderContent {
    position: relative;
    padding-bottom: 100px;
    padding-top: 100px;
    width: 100%
}

.People .People__Header_MainImg,
.People .People__Header_Img1,
.People .People__Header_Img2,
.People .People__Header_Img3 {
    position: absolute;
    z-index: -1
}

.People .People__Header_MainImg {
    bottom: 0;
    right: -7%;
    width: 42%
}

@media only screen and (max-width : 767px) {
    .People .People__Header_MainImg {
        width: 70%
    }
}

.People .People__Header_Img1 {
    bottom: 20px;
    width: 20%;
    left: 0
}

@media only screen and (max-width : 767px) {
    .People .People__Header_Img1 {
        width: 40%
    }
}

.People .People__Header_Img2 {
    width: 15%;
    left: 20%;
    top: 0
}

@media only screen and (max-width : 767px) {
    .People .People__Header_Img2 {
        width: 30%;
        left: 30%;
        top: -30px
    }
}

.People .People__Header_Img3 {
    top: 0;
    width: 13%;
    left: 61%
}

@media only screen and (max-width : 767px) {
    .People .People__Header_Img3 {
        top: 100px;
        left: 80%;
        width: 25%
    }
}

.People .Navigation {
    height: 85px;
    border-bottom: 1px solid #EFEFEF
}

.People .Navigation__Container {
    height: 90px;
    width: -moz-max-content;
    width: max-content;
    margin: 0 auto
}

@media only screen and (max-width : 767px) {
    .People .Navigation__Container {
        width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .People .Navigation__Container::-webkit-scrollbar {
        display: none
    }
}

.People .Navigation__Item {
    transition: color .3s;
    color: #000;
    font-size: 20px;
    cursor: pointer;
    text-align: center;
    padding-bottom: 2px;
    border-bottom: 4px solid white;
    padding-left: 0;
    padding-right: 0;
    margin: 0 12px;
    line-height: 3rem;
    white-space: nowrap
}

.People .Navigation__Item .Underline {
    transition: width .2s ease-out;
    width: 0px;
    height: 4px;
    background-color: #0000d5;
    margin: 0
}

.People .Navigation__Item:hover,
.People .Navigation__Item.active {
    color: #0000d5
}

.People .Navigation__Item:hover .Underline,
.People .Navigation__Item.active .Underline {
    width: 100%
}

.People .Featured {
    margin-top: 40px
}

.People .Featured__Item {
    margin: 80px 0 115px
}

.People .Featured__Quote {
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width : 767px) {
    .People .Featured__Quote {
        padding: 0 10%
    }
}

.People .Quote__Text {
    margin-bottom: 25px
}

.People .Featured__Bio {
    margin-top: 30px
}

.People .Featured__Footnote,
.People .Featured__Footnote--image-top,
.People .Featured__Footnote--tall-left,
.People .Featured__Footnote--wide-left {
    border-top: 1px solid #C8C8C8;
    margin-top: 15px;
    max-width: 350px
}

.People .Featured__Footnote--image-top {
    margin-left: 56.5%
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Footnote--image-top {
        margin-left: 51.2%;
        max-width: 275px
    }
}

@media only screen and (max-width : 767px) {
    .People .Featured__Footnote--image-top {
        margin-left: 3.2%;
        max-width: 93%;
        padding-left: 0
    }
}

.People .Featured__Footnote--tall-left {
    max-width: 70%
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Footnote--tall-left {
        max-width: 100%
    }
}

.People .Featured__Footnote--wide-left {
    margin-left: 12%
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Footnote--wide-left {
        margin-left: 0
    }
}

.People .Featured__Footnote__Title {
    color: #000;
    margin: 0 0 10px
}

.People .Featured__Footnote__Content {
    transition: color .3s;
    position: relative;
    width: -moz-max-content;
    width: max-content;
    display: inline-block
}

.People .Featured__Footnote__Content svg {
    width: 13px;
    height: 13px;
    position: absolute;
    bottom: 7px;
    right: -20px
}

.People .Featured__Footnote__Content:hover {
    color: #0000d5
}

.People .Featured__Footnote__Content.nolink {
    transition: none
}

.People .Featured__Footnote__Content.nolink:hover {
    color: #000
}

@media only screen and (max-width : 767px) {
    .People .Featured__Footnote__Content {
        font-size: 15px
    }
}

@media only screen and (max-width : 320px) {
    .People .Featured__Footnote__Content {
        font-size: 13px
    }
}

.People .Featured__ImageColumn {
    z-index: 0
}

.People .Featured__Image {
    position: relative
}

.People .Featured__Image.image-top:before,
.People .Featured__Image.wide-right:before,
.People .Featured__Image.wide-left:before,
.People .Featured__Image--tall-left:before,
.People .Featured__Image--tall-right:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 68.43575419%
}

.People .Featured__Image.people-page:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 62.32394366%
}

.People .Featured__ContentColumn {
    z-index: 1
}

.People .Featured__Content .Featured__Description {
    padding-right: 0
}

.People .Featured__Content .Featured__Name {
    position: relative;
    margin-top: 15px;
    margin-bottom: 5px;
    font-weight: inherit
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Content .Featured__Name {
        line-height: 42px;
        font-weight: inherit;
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 36px;
        color: #000
    }

    [data-lang=ja] .People .Featured__Content .Featured__Name {
        font-family: NotoSansJP-Regular
    }
}

@media only screen and (max-width : 1024px) and only screen and (max-width : 1024px) {
    .People .Featured__Content .Featured__Name {
        font-size: 20px;
        line-height: 25px
    }
}

.People .Featured__Content .Featured__Title {
    color: #000;
    margin-bottom: 30px
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content .Featured__Title {
        line-height: 16px
    }
}

@media only screen and (max-width : 767px) {

    .People .Featured__Image--tall-left,
    .People .Featured__Image--tall-right {
        margin-bottom: 40px
    }
}

.People .Featured__Content--tall-left {
    margin-left: 30px;
    margin-top: 140px;
    margin-bottom: 35px
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-left {
        margin-top: 80px;
        margin-left: 0
    }
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content--tall-left {
        margin-top: 40px
    }
}

.People .Featured__Content--tall-left .Featured__Description {
    padding-right: 0
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content--tall-left .Featured__Description {
        width: 30%;
        height: 230px
    }
}

.People .Featured__Content--tall-left .Header_Accent--left {
    transform: translate(130px)
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-left .Header_Accent--left {
        transform: translate(-32px)
    }
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content--tall-left .Header_Accent--left {
        transform: translate(0)
    }
}

.People .Featured__Content--tall-left .Featured__Name {
    position: relative;
    white-space: nowrap;
    margin-top: 5px;
    margin-bottom: 5px;
    transform: translate(-150px)
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-left .Featured__Name {
        line-height: 42px;
        font-weight: inherit;
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 36px;
        color: #000;
        transform: translate(0)
    }

    [data-lang=ja] .People .Featured__Content--tall-left .Featured__Name {
        font-family: NotoSansJP-Regular
    }
}

@media only screen and (max-width : 1024px) and only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-left .Featured__Name {
        font-size: 20px;
        line-height: 25px
    }
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content--tall-left .Featured__Name {
        width: 30%;
        white-space: normal;
        transform: translate(-19px)
    }
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content--tall-left .Featured__Name {
        transform: translate(-48px)
    }
}

.People .Featured__Content--tall-left .Featured__Title {
    color: #000;
    margin-bottom: 30px;
    transform: translate(-30px)
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-left .Featured__Title {
        transform: translate(0)
    }
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content--tall-left .Featured__Title {
        line-height: 16px
    }
}

.People .Featured__Content--tall-left .Featured__Bio {
    padding: 0;
    width: 70%
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-left .Featured__Bio {
        width: 100%
    }
}

.People .Featured__Content--wide_left .Featured__Description,
.People .Featured__Content--centered_left .Featured__Description {
    padding-right: 0;
    margin-top: 50px
}

@media only screen and (max-width : 1024px) {

    .People .Featured__Content--wide_left .Featured__Description,
    .People .Featured__Content--centered_left .Featured__Description {
        margin-left: 0
    }
}

@media only screen and (max-width : 767px) {

    .People .Featured__Content--wide_left .Featured__Description,
    .People .Featured__Content--centered_left .Featured__Description {
        margin-top: 0
    }
}

.People .Featured__Content--wide_left .Header_Accent--left,
.People .Featured__Content--centered_left .Header_Accent--left {
    transform: translate(20px)
}

.People .Featured__Content--wide_left .Featured__Name,
.People .Featured__Content--centered_left .Featured__Name {
    position: relative;
    margin-top: 14px;
    margin-left: 50px;
    margin-bottom: 5px;
    transform: translate(-50px);
    white-space: nowrap
}

@media only screen and (max-width : 1024px) {

    .People .Featured__Content--wide_left .Featured__Name,
    .People .Featured__Content--centered_left .Featured__Name {
        line-height: 42px;
        font-weight: inherit;
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 36px;
        color: #000;
        transform: translate(0)
    }

    [data-lang=ja] .People .Featured__Content--wide_left .Featured__Name,
    [data-lang=ja] .People .Featured__Content--centered_left .Featured__Name {
        font-family: NotoSansJP-Regular
    }
}

@media only screen and (max-width : 1024px) and only screen and (max-width : 1024px) {

    .People .Featured__Content--wide_left .Featured__Name,
    .People .Featured__Content--centered_left .Featured__Name {
        font-size: 20px;
        line-height: 25px
    }
}

.People .Featured__Content--wide_left .Featured__Title,
.People .Featured__Content--centered_left .Featured__Title {
    margin-left: 50px;
    color: #000;
    transform: translate(-50px)
}

@media only screen and (max-width : 1024px) {

    .People .Featured__Content--wide_left .Featured__Title,
    .People .Featured__Content--centered_left .Featured__Title {
        transform: translate(0)
    }
}

@media only screen and (max-width : 767px) {

    .People .Featured__Content--wide_left .Featured__Title,
    .People .Featured__Content--centered_left .Featured__Title {
        line-height: 16px;
        transform: translate(0)
    }
}

.People .Featured__Content--wide_left .Featured__Bio,
.People .Featured__Content--centered_left .Featured__Bio {
    padding: 0;
    margin-left: 50px
}

@media only screen and (max-width : 1024px) {

    .People .Featured__Content--wide_left .Featured__Bio,
    .People .Featured__Content--centered_left .Featured__Bio {
        margin-left: 0
    }
}

.People .Featured__Content--centered_left {
    align-self: center;
    justify-self: center
}

.People .Featured__Content--centered_left .Header_Accent--left {
    display: none
}

.People .Featured__Content--centered_left .Featured__Name {
    transform: none;
    margin-left: 0;
    margin-top: 0
}

.People .Featured__Content--centered_left .Featured__Description {
    margin-top: 0;
    text-align: center
}

.People .Featured__Content--centered_left .Featured__Bio {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: none
}

.People .Featured__Content--centered_left .Featured__Title {
    transform: none;
    margin: 0
}

.People .Featured__Content--tall-right {
    margin-left: 22%;
    padding-right: 5%
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-right {
        margin-left: 0
    }
}

.People .Featured__Content--tall-right .Featured__Description {
    margin-top: 130px
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content--tall-right .Featured__Description {
        margin-top: 50px;
        width: 30%;
        margin-bottom: 18vw
    }
}

.People .Featured__Content--tall-right .Header_Accent--left {
    transform: translate(25px)
}

.People .Featured__Content--tall-right .Featured__Name {
    position: relative;
    margin-bottom: 5px;
    transform: translate(67px)
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-right .Featured__Name {
        line-height: 42px;
        font-weight: inherit;
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 36px;
        color: #000;
        transform: translate(0)
    }

    [data-lang=ja] .People .Featured__Content--tall-right .Featured__Name {
        font-family: NotoSansJP-Regular
    }
}

@media only screen and (max-width : 1024px) and only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-right .Featured__Name {
        font-size: 20px;
        line-height: 25px
    }
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content--tall-right .Featured__Name {
        white-space: normal
    }
}

.People .Featured__Content--tall-right .Featured__Title {
    color: #000;
    margin-bottom: 30px;
    transform: translate(67px)
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Content--tall-right .Featured__Title {
        transform: translate(0)
    }
}

@media only screen and (max-width : 767px) {
    .People .Featured__Content--tall-right .Featured__Title {
        line-height: 16px
    }
}

.People .Featured__Content--wide_right .Featured__Description,
.People .Featured__Content--centered_right .Featured__Description {
    padding-right: 0
}

@media only screen and (max-width : 1024px) {

    .People .Featured__Content--wide_right .Featured__Description,
    .People .Featured__Content--centered_right .Featured__Description {
        margin-left: 0
    }
}

.People .Featured__Content--wide_right .Header_Accent--left,
.People .Featured__Content--centered_right .Header_Accent--left {
    transform: translate(20px)
}

.People .Featured__Content--wide_right .Featured__Name,
.People .Featured__Content--centered_right .Featured__Name {
    position: relative;
    margin-top: 10px;
    margin-bottom: 5px;
    margin-left: 50px
}

@media only screen and (max-width : 1024px) {

    .People .Featured__Content--wide_right .Featured__Name,
    .People .Featured__Content--centered_right .Featured__Name {
        line-height: 42px;
        font-weight: inherit;
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 36px;
        color: #000
    }

    [data-lang=ja] .People .Featured__Content--wide_right .Featured__Name,
    [data-lang=ja] .People .Featured__Content--centered_right .Featured__Name {
        font-family: NotoSansJP-Regular
    }
}

@media only screen and (max-width : 1024px) and only screen and (max-width : 1024px) {

    .People .Featured__Content--wide_right .Featured__Name,
    .People .Featured__Content--centered_right .Featured__Name {
        font-size: 20px;
        line-height: 25px
    }
}

.People .Featured__Content--wide_right .Featured__Title,
.People .Featured__Content--centered_right .Featured__Title {
    margin-bottom: 30px;
    color: #000;
    margin-left: 50px
}

@media only screen and (max-width : 767px) {

    .People .Featured__Content--wide_right .Featured__Title,
    .People .Featured__Content--centered_right .Featured__Title {
        line-height: 16px
    }
}

.People .Featured__Content--wide_right .Featured__Bio,
.People .Featured__Content--centered_right .Featured__Bio {
    padding: 0;
    width: 90%
}

.People .Featured__Standard {
    margin-bottom: 100px
}

@media only screen and (max-width : 767px) {
    .People .Featured__Standard {
        margin-bottom: 60px
    }
}

.People .Featured__Standard .Featured__Name {
    margin-bottom: 5px
}

@media only screen and (max-width : 1024px) {
    .People .Featured__Standard .Featured__Name {
        line-height: 42px;
        font-weight: inherit;
        font-family: DroteskNo5-Regular;
        font-size: 28px;
        line-height: 36px;
        color: #000
    }

    [data-lang=ja] .People .Featured__Standard .Featured__Name {
        font-family: NotoSansJP-Regular
    }
}

@media only screen and (max-width : 1024px) and only screen and (max-width : 1024px) {
    .People .Featured__Standard .Featured__Name {
        font-size: 20px;
        line-height: 25px
    }
}

.People .Featured__Standard .Featured__Title {
    color: #000;
    margin-bottom: 20px
}

@media only screen and (max-width : 767px) {
    .People .Featured__Standard .Featured__Title {
        line-height: 16px
    }
}

.People .Featured__Standard .Featured__Bio {
    padding-right: 5%
}

.People .Featured__Content--centered_right {
    align-self: center;
    justify-self: center
}

.People .Featured__Content--centered_right .Header_Accent--left {
    display: none
}

.People .Featured__Content--centered_right .Featured__Name {
    transform: none;
    margin-right: 0;
    margin-top: 0
}

.People .Featured__Content--centered_right .Featured__Description {
    margin-top: 0;
    text-align: center
}

.People .Featured__Content--centered_right .Featured__Bio {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: none
}

.People .Featured__Content--centered_right .Featured__Title {
    transform: none;
    margin: 0
}

.People__Grid {
    padding-top: 100px
}

.People__Department {
    border-top: 1px solid #0000D5
}

.People__Department--headline {
    width: 240px;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 35px;
    margin-top: -24px;
    margin-left: -37px;
    background-color: #fff
}

@media only screen and (max-width : 767px) {
    .People__Department--headline {
        margin-bottom: 50px
    }
}

.People__Department--headline .Arrow--down {
    margin-left: 15px
}

.People__Dropdown__Container {
    font-size: 20px;
    display: flex;
    flex-wrap: row;
    align-items: flex-start;
    justify-content: center;
    margin: 50px auto
}

@media only screen and (max-width : 767px) {
    .People__Dropdown__Container {
        text-align: center
    }
}

.People__Dropdown__Label {
    white-space: nowrap;
    margin-right: 10px;
    color: #c8c8c8;
    padding-left: 100px
}

.People__Dropdown {
    font-size: 20px;
    font-family: DroteskNo5-Regular;
    width: 210px
}

[data-lang=ja] .People__Dropdown {
    font-family: NotoSansJP-Regular
}

.People__Dropdown .dropdown__label {
    padding: 0;
    color: #000;
    width: -moz-max-content;
    width: max-content
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .People__Dropdown .dropdown__label {
        width: 300px
    }
}

@media only screen and (max-width : 767px) {
    .People__Dropdown .dropdown__label {
        margin: 0 auto
    }
}

.People__Dropdown .dropdown__label-arrow {
    transform: scale(1.5);
    transform-origin: 50% 50%
}

.People__Dropdown .dropdown__item {
    transition: color .3s;
    padding: 0;
    margin-top: 15px;
    color: #000
}

.People__Dropdown .dropdown__item:hover {
    color: #0000d5
}

.People__Dropdown.open .dropdown__list {
    height: 40rem
}

.People__Dropdown.open .dropdown__label-arrow {
    transform: rotate(-180deg) translateY(1px) scale(1.5);
    transform-origin: 50% 50%
}

@media only screen and (max-width : 1024px) {
    .People .Navigation__Item {
        font-size: 18px
    }
}

.Services {
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .Services {
    font-family: NotoSansJP-Regular
}

.Services .Services__Header {
    text-align: center;
    margin-top: 150px
}

@media only screen and (max-width : 767px) {
    .Services .Services__Header {
        margin-top: 120px
    }
}

.Services .Services__Header--stream {
    text-align: center;
    margin-top: 25px;
    margin-bottom: 55px;
    font-weight: inherit
}

@media only screen and (max-width : 767px) {
    .Services .Services__Header--stream {
        margin-bottom: 30px
    }
}

.Services .Services__Intro {
    margin: 100px auto;
    text-align: center
}

@media only screen and (max-width : 767px) {
    .Services .Services__Intro {
        margin: 40px auto
    }
}

.Services .Services__Intro .Intro {
    margin: 0 auto 20px;
    width: 65%;
    color: #000
}

.Services .Services__Intro .Intro--grey {
    margin: 0 auto;
    width: 75%;
    color: #959595
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Intro .Intro {
        width: 75%
    }

    .Services .Services__Intro .Intro--grey {
        width: 85%
    }
}

@media only screen and (max-width : 767px) {

    .Services .Services__Intro .Intro,
    .Services .Services__Intro .Intro--grey {
        width: 100%
    }
}

.Services .Services__Purpose {
    position: relative
}

.Services .Services__Purpose .Project_Caption {
    text-align: center;
    color: #0000d5;
    margin-bottom: 10px;
    font-weight: inherit
}

@media only screen and (max-width : 767px) {
    .Services .Services__Purpose {
        display: none
    }
}

.Services .Services__Chart {
    width: 100%;
    position: relative;
    display: block;
    height: 260px;
    overflow: hidden
}

.Services .Services__Chart svg {
    height: 260px;
    position: absolute;
    left: 0;
    top: 0
}

.Services .Services__Chart__TextContainer {
    position: relative;
    z-index: 2
}

.Services .Services__Chart__TextContainer .Row {
    height: 100%;
    padding: 0 12px
}

.Services .Services__Chart__Text {
    font-size: 21px;
    line-height: 28px;
    width: 19%;
    padding: 0 4%;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column
}

.Services .Services__Chart__Text>div {
    width: -moz-max-content;
    width: max-content;
    max-width: 100%
}

.Services .Services__Chart__Text:nth-child(1) {
    width: 20%
}

.Services .Services__Chart__Text:nth-child(2) {
    width: 19%
}

.Services .Services__Chart__Text:nth-child(3) {
    text-align: center;
    font-size: 18px;
    line-height: 23px;
    color: #fff;
    width: 22%
}

.Services .Services__Chart__Text:nth-child(4) {
    width: 19%
}

.Services .Services__Chart__Text:nth-child(5) {
    width: 20%
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Chart__Text {
        font-size: 14px;
        line-height: 22px
    }

    .Services .Services__Chart__Text:nth-child(3) {
        font-size: 14px;
        line-height: 18px
    }
}

.Services .Services__Chart__Text--title {
    color: #fff;
    font-size: 20px;
    line-height: 35px
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Chart__Text--title {
        font-size: 14px;
        line-height: 25px;
        margin-bottom: 15px
    }
}

.Services .Services__Purpose-List {
    display: grid
}

@media only screen and (min-width : 1025px) {
    .Services .Services__Purpose-List {
        grid-auto-flow: column;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, max-content)
    }
}

.Services .Services__Purpose--mobile {
    display: none;
    margin: 80px auto 120px;
    position: relative;
    width: 70%;
    max-width: 220px
}

.Services .Services__Purpose--mobile svg {
    height: 542px
}

@media only screen and (max-width : 767px) {
    .Services .Services__Purpose--mobile {
        display: block
    }
}

.Services .Services__Purpose--mobile .Services__Chart__TextContainer {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-rows: 33% 33% 33%;
    justify-content: center;
    align-items: center
}

.Services .Services__Purpose--mobile .Figure__Wing {
    padding: 2rem;
    font-size: 20px;
    line-height: 25px
}

.Services .Services__Purpose--mobile .Figure__Hub {
    color: #fff;
    font-size: 20px;
    line-height: 25px;
    padding: 2rem
}

.Services .Services__Chart__Text--mobile {
    width: 100%;
    text-align: center
}

.Services .Services__Chart__Text--mobile.Project_Caption {
    color: #0000d5;
    font-weight: inherit
}

.Services .Services__Stream {
    margin-bottom: 80px
}

.Services .Services__Headline {
    font-size: 40px;
    line-height: 50px;
    margin-bottom: 40px
}

@media only screen and (max-width : 767px) {
    .Services .Services__Headline {
        margin-bottom: 26px
    }
}

.Services .Services__Headline--small {
    font-family: GTPressura;
    font-size: 12px;
    text-transform: uppercase;
    color: #969696
}

.Services .Services__Content {
    text-align: center
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Content {
        width: 100%;
        margin-left: 0;
        padding: 0 10% 40px
    }
}

@media only screen and (max-width : 767px) {
    .Services .Services__Content {
        padding: 0 10% 40px
    }
}

.Services .Services__Content .Headline_Small {
    margin-bottom: 10px
}

.Services .Services__Content .Body_Dark {
    color: #959595;
    width: 74%;
    margin-left: 13%
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Content .Body_Dark {
        width: 80%;
        margin-left: 10%
    }
}

.Services .Services__Content.Margin {
    padding: 0 10% 60px
}

@media only screen and (max-width : 767px) {
    .Services .Services__Content.Margin {
        padding: 0 10% 40px
    }
}

.Services .Services_Border {
    border-left: 1px solid #C8C8C8
}

@media only screen and (max-width : 1024px) {
    .Services .Services_Border {
        border-left: none
    }
}

@media only screen and (max-width : 767px) {
    .Services .Services_Border {
        border-left: none
    }
}

.Services .Services_Border--mobile {
    border-bottom: none
}

@media only screen and (max-width : 767px) {
    .Services .Services_Border--mobile {
        border-bottom: 1px solid #C8C8C8;
        margin-bottom: 28px
    }
}

.Services .Services__Capabilities {
    border-top: 1px solid #EBECED
}

.Services .Services__Capabilities .Project_Caption {
    text-align: center;
    margin-top: 80px;
    margin-bottom: 10px;
    font-weight: inherit
}

.Services .Services__Capabilities .Headline_Large {
    text-align: center;
    width: 64%;
    margin-left: 18%
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Capabilities .Headline_Large {
        width: 70%;
        margin-left: 15%
    }
}

@media only screen and (max-width : 767px) {
    .Services .Services__Capabilities .Headline_Large {
        width: 100%;
        margin-left: 0
    }
}

.Services .Capabilities__TabletContainer {
    width: 100%;
    padding-left: 4%
}

@media only screen and (max-width : 1024px) {
    .Services .Capabilities__TabletContainer {
        padding-left: 22%;
        padding-right: 0%
    }
}

@media only screen and (max-width : 1024px) and (pointer: coarse) {
    .Services .Capabilities__TabletContainer {
        width: auto;
        flex-wrap: nowrap;
        padding: 0 50px
    }
}

.Services .Capabilities {
    margin-top: 100px;
    margin-bottom: 80px
}

@media only screen and (max-width : 1024px) {
    .Services .Capabilities {
        margin-top: 60px
    }
}

@media only screen and (max-width : 1024px) and (pointer: coarse) {
    .Services .Capabilities {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .Services .Capabilities::-webkit-scrollbar {
        display: none
    }
}

@media only screen and (max-width : 1024px) {
    .Services .Capabilities__Card {
        width: 40%;
        max-width: inherit;
        box-sizing: border-box;
        flex: 0 0 auto;
        margin: 20px 15px;
        height: -moz-max-content;
        height: max-content
    }
}

@media only screen and (max-width : 1024px) and (pointer: coarse) {
    .Services .Capabilities__Card {
        width: 275px;
        box-shadow: 0 0 20px #0000004d;
        background-color: #fff;
        padding: 20px
    }
}

@media only screen and (max-width : 767px) {
    .Services .Capabilities__Card {
        width: 265px
    }
}

.Services .Services__Capabilities__List__Header {
    font-size: 20px;
    margin: 24 0
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Capabilities__List__Header {
        margin: 20px
    }
}

@media only screen and (max-width : 767px) {
    .Services .Services__Capabilities__List__Header {
        font-size: 28px
    }
}

.Services .Services__Capabilities__List__Item {
    font-size: 16px;
    color: #969696;
    margin: 24 0
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Capabilities__List__Item {
        font-size: 14px;
        margin: 20px
    }
}

.Services .Services__Partners {
    padding-top: 100px;
    padding-bottom: 500px;
    background-color: #f4f4f4
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Partners {
        padding-bottom: 230px
    }
}

.Services .Services__Partners .Headline_Large {
    text-align: center;
    width: 64%;
    margin-left: 18%;
    margin-bottom: 100px
}

@media only screen and (max-width : 1024px) {
    .Services .Services__Partners .Headline_Large {
        width: 70%;
        margin-left: 15%
    }
}

@media only screen and (max-width : 767px) {
    .Services .Services__Partners .Headline_Large {
        width: 100%;
        margin-left: 0;
        margin-bottom: 60px
    }
}

.Services .Services__Partners .Partner {
    margin-bottom: 100px
}

.Services .Services__Partners .Partner .Project_Caption {
    margin-bottom: 10px;
    font-weight: inherit
}

@media only screen and (max-width : 767px) {
    .Services .Services__Partners .Partner .Project_Caption {
        margin-top: 20px
    }
}

.Services .Services__Partners .Partner .Headline_Small {
    transition: color .3s;
    margin-bottom: 25px
}

@media only screen and (max-width : 767px) {
    .Services .Services__Partners .Partner .Headline_Small {
        font-size: 14px;
        line-height: 22px
    }
}

.Services .Services__Partners .Partner .Partner__Image {
    padding-right: 5%
}

.Services .Services__Partners .Partner .Partner__Image .Image_Zoom:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 68.56287425%
}

@media only screen and (max-width : 767px) {
    .Services .Services__Partners .Partner .Partner__Image {
        padding: 0
    }
}

.Services .Services__Partners .Partner:nth-child(odd) .Row {
    flex-direction: row-reverse
}

.Services .Services__Partners .Partner:nth-child(odd) .Partner__Image {
    padding-left: 5%;
    padding-right: 0
}

@media only screen and (max-width : 767px) {
    .Services .Services__Partners .Partner:nth-child(odd) .Partner__Image {
        padding: 0
    }
}

.Services .Services__Partners .Partner:hover .Headline_Small {
    color: #0000d5
}

.Services .Services__Partners .Partner:hover .Partner__Image .Image_Zoom img,
.Services .Services__Partners .Partner:hover .Partner__Image .Image_Zoom .Image_Zoom__BG {
    transform: scale(1.1)
}

.Services .Services__Partners+.Related-Content-Layer .RelatedContent.Overlap {
    margin-top: -400px
}

.Services .Related-Content-Layer .RelatedContent.Overlap {
    margin-top: 0
}

.Services__Contact {
    margin: 0 auto 170px;
    text-align: center
}

@media only screen and (max-width : 767px) {
    .Services__Contact {
        margin: 0 auto 60px
    }
}

.Services__Contact .Services__Contact__Headline {
    margin-bottom: 30px;
    max-width: 45%;
    margin-left: 27.5%;
    font-weight: inherit
}

@media only screen and (max-width : 1024px) {
    .Services__Contact .Services__Contact__Headline {
        max-width: inherit;
        margin-left: 16.666666%
    }
}

@media only screen and (max-width : 767px) {
    .Services__Contact .Services__Contact__Headline {
        margin-left: 0
    }
}

.Services__Contact__CTA {
    font-family: DroteskNo5-Medium;
    transition: all .3s ease;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    display: inline-block;
    padding: 14px 20px;
    cursor: pointer
}

[data-lang=ja] .Services__Contact__CTA {
    font-family: NotoSansJP-Medium
}

.Services__Contact__CTA:hover {
    background-color: #0000d5;
    color: #fff
}

[data-template=sitemap] {
    overflow-x: initial
}

.Sitemap__Header {
    padding: 160px 0
}

.Sitemap__Body {
    font-size: 16px
}

.Sitemap__Body h2 {
    margin-bottom: 1rem
}

.Sitemap__Body ul {
    line-height: 1.4;
    padding-left: 1rem
}

.Terms {
    margin-top: 180px;
    margin-bottom: 80px
}

@media only screen and (max-width : 767px) {
    .Terms {
        margin-top: 120px
    }
}

.Terms__Accent {
    width: 107px;
    height: 7px;
    background-color: #0000d5;
    margin-bottom: 25px
}

.Terms__Title {
    margin-left: 80px;
    margin-bottom: 25px
}

.Terms__SubTitle {
    width: 90%;
    margin-bottom: 30px
}

.Terms__ContentHeader {
    margin-bottom: 30px
}

.Terms__Content {
    margin-bottom: 65px
}

.Terms__List {
    list-style-type: disc;
    margin-left: 15px;
    padding-left: 15px
}

.Terms__List li {
    display: list-item;
    list-style-type: disc
}

.WorkPage {
    width: 100%;
    font-family: DroteskNo5-Regular
}

[data-lang=ja] .WorkPage {
    font-family: NotoSansJP-Regular
}

.WorkPage__Header {
    text-align: center;
    margin-top: 150px;
    margin-bottom: 50px
}

@media only screen and (max-width : 767px) {
    .WorkPage__Header {
        margin-top: 120px;
        margin-bottom: 20px
    }

    .WorkPage__Header .Headline_XL {
        max-width: 366px;
        margin: 0 auto
    }
}

.WorkPage__Blurb {
    text-align: center
}

.WorkPage__Intro {
    margin-bottom: 50px
}

.WorkPage__Intro .WorkPage__PlayButton {
    transition: all .2s;
    opacity: 0;
    cursor: pointer;
    position: absolute;
    z-index: 2;
    width: -moz-max-content;
    width: max-content;
    left: 50%;
    top: 90%;
    transform: translate(-50%, -90%)
}

.WorkPage__Intro .WorkPage__PlayButton .WorkPage__PlayButton__Label {
    color: #fff;
    padding: 0 20px
}

.WorkPage__Intro .WorkPage__PlayButton .WorkPage__PlayButton__BG {
    transition: width .2s ease-out;
    position: absolute;
    width: 0;
    height: 26px;
    background-color: #0000d5;
    top: 42%;
    z-index: -1
}

@media only screen and (max-width : 1024px) {
    .WorkPage__Intro .WorkPage__PlayButton .WorkPage__PlayButton__BG {
        height: 16px;
        top: 36%
    }
}

.WorkPage__Intro .WorkPage__PlayButton:hover .WorkPage__PlayButton__BG {
    position: absolute;
    width: 100%
}

.WorkPage__Intro:hover .WorkPage__PlayButton {
    opacity: 1
}

.WorkPage__Intro.Video {
    margin-bottom: 100px
}

@media only screen and (max-width : 767px) {
    .WorkPage__Intro.Video {
        margin-bottom: 50px
    }
}

.WorkPage__Intro__Img {
    position: relative
}

.WorkPage__Intro__Img img {
    width: 100%
}

.WorkPage__Intro__Content .BodyCopy {
    text-align: center;
    color: #959595;
    margin-top: 0;
    margin-bottom: 50px
}

@media only screen and (max-width : 767px) {
    .WorkPage__Intro__Content .BodyCopy {
        margin-bottom: 25px
    }
}

.WorkPage__Client .Row {
    align-items: center;
    margin-bottom: 100px
}

.WorkPage__Client:nth-child(2n) .Row {
    flex-direction: row-reverse
}

.WorkPage__Client .WorkPage__Client--img {
    padding-right: 5%
}

.WorkPage__Client .WorkPage__Client--img .Image_Zoom:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 68.56287425%
}

.WorkPage__Client .WorkPage__Client--img .Image_Zoom img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.WorkPage__Client--description {
    cursor: pointer
}

.WorkPage__Client--description .Arrow {
    margin-left: 10px
}

.WorkPage__Client--description .WorkPage__Content {
    transition: color .3s
}

.WorkPage__Client--description .WorkPage__CTA {
    width: 103px
}

.WorkPage__Client--description .Animated_Underline {
    display: inline-block;
    position: relative
}

.WorkPage__Client--description .Animated_Underline:after {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 4px;
    bottom: -4px;
    left: 0;
    background-color: #0000d5;
    transform-origin: bottom right
}

@media screen and (prefers-reduced-motion: no-preference) {
    .WorkPage__Client--description .Animated_Underline:after {
        transition: transform .3s ease-out
    }
}

.WorkPage__Client .Headline_Small {
    margin: 10px 0 20px
}

.WorkPage__Client:hover .WorkPage__Client--description .WorkPage__Content {
    color: #0000d5
}

.WorkPage__Client:hover .WorkPage__Client--description .Animated_Underline:after {
    transform: scaleX(1);
    transform-origin: bottom left
}

.WorkPage__Client:hover .WorkPage__Client--img .Image_Zoom img,
.WorkPage__Client:hover .WorkPage__Client--img .Image_Zoom .Image_Zoom__BG {
    transform: scale(1.1)
}

.WorkPage__Secondary {
    border-top: 1px solid #0000D5
}

.WorkPage__Secondary--headline {
    width: 260px;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 35px;
    margin-top: -24px;
    margin-left: -37px;
    background-color: #fff
}

.WorkPage__Secondary--headline .Arrow--down {
    margin-left: 15px
}

.WorkPage__Secondary--container {
    margin-top: 60px;
    display: flex;
    flex-flow: row wrap;
    align-items: top;
    justify-content: left;
    align-content: flex-start
}

.WorkPage__Secondary--item {
    width: 30%;
    margin-right: 5%;
    margin-bottom: 60px
}

.WorkPage__Secondary--item .Image_Zoom:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 135.63218391%
}

.WorkPage__Secondary--item .Image_Zoom img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.WorkPage__Secondary--item:nth-child(3n+3) {
    margin-right: 0
}

.WorkPage__Secondary--item .client-name {
    margin: 16px 0 12px
}

.WorkPage__Secondary--item .project-name {
    transition: color .3s
}

.WorkPage__Secondary--item:hover .project-name {
    color: #0000d5
}

.WorkPage__Secondary--item:hover .Image_Zoom img,
.WorkPage__Secondary--item:hover .Image_Zoom .Image_Zoom__BG {
    transform: scale(1.1)
}

.WorkPage__LogoSection {
    width: 100%;
    background-color: #f4f4f4;
    padding-top: 60px;
    padding-bottom: 60px
}

.WorkPage__LogoSection--headline {
    font-size: 42px;
    text-align: center;
    margin-bottom: 60px
}

.WorkPage__LogoSection__Container {
    align-items: center;
    padding: 0 12.5%
}

.WorkPage__LogoSection__Item {
    width: 16.666666%;
    padding-right: 30px;
    padding-left: 30px
}

.WorkPage__LogoSection__Item img {
    margin-bottom: 40px
}

@media only screen and (max-width : 1024px) {
    .WorkPage__Client .Row {
        margin-bottom: 50px
    }

    .WorkPage__LogoSection__Container {
        padding: 0 17%
    }

    .WorkPage__LogoSection__Item {
        width: 25%
    }
}

@media only screen and (max-width : 767px) {
    .WorkPage__Client .Row {
        margin-bottom: 40px
    }

    .WorkPage__Client .WorkPage__Client--img {
        margin-bottom: 20px;
        padding-right: 12px
    }

    .WorkPage__Secondary {
        margin-top: 100px
    }

    .WorkPage__Secondary--item {
        width: 100%;
        margin-right: 0%
    }

    .WorkPage__LogoSection__Container {
        padding: 0
    }

    .WorkPage__LogoSection__Item {
        width: 33%;
        padding: 0 7%
    }

    .WorkPage__LogoSection__Item img {
        margin-bottom: 40px
    }
}

.SingleNews {
    margin-top: 125px
}

.SingleNews__Article {
    margin-bottom: 90px
}

@media only screen and (max-width : 1024px) {
    .SingleNews__Author {
        display: none
    }
}

.Author {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #d7d9db;
    width: -moz-max-content;
    width: max-content;
    padding-right: 15px;
    margin-top: 80px
}

@media only screen and (max-width : 1024px) {
    .Author {
        border: none
    }
}

.Author__Image {
    margin-bottom: 20px;
    width: 60px;
    height: 60px;
    overflow: hidden;
    border-radius: 50%;
    background-size: cover;
    background-position: center
}

.Author__Image img {
    width: 100%
}

@media only screen and (max-width : 1024px) {
    .Author__Image {
        min-width: 50px;
        height: 50px;
        width: 50px
    }
}

.Author__Name {
    margin-left: 20px
}

@media only screen and (max-width : 1024px) {
    .Author__Name .Body_Dark {
        font-size: 14px
    }
}

.Author__Name .Body_Light {
    line-height: 18px;
    padding-bottom: 18px;
    max-width: 160px
}

@media only screen and (max-width : 767px) {
    .Author__Name .Body_Light {
        max-width: 200px
    }
}

.SingleNews__Author--mobile {
    display: none
}

.SingleNews__Author--mobile .Author {
    margin-top: 0
}

@media only screen and (max-width : 1024px) {
    .SingleNews__Author--mobile {
        display: flex;
        align-items: center;
        justify-content: space-between
    }
}

@media only screen and (max-width : 320px) {
    .SingleNews__Author--mobile {
        flex-wrap: wrap
    }
}

.SingleNews__Social {
    display: flex;
    align-items: center;
    margin-top: 25px;
    align-items: flex-start;
    height: 20px
}

@media only screen and (max-width : 1024px) {
    .SingleNews__Social {
        display: none
    }
}

.SingleNews__Social--mobile {
    text-align: center;
    padding-bottom: 12px;
    margin-right: 10px
}

.SingleNews__Social--mobile .Project_Caption {
    margin-left: 20px;
    margin-bottom: 15px
}

@media only screen and (max-width : 320px) {
    .SingleNews__Social--mobile .Project_Caption {
        margin-left: 0
    }
}

@media only screen and (max-width : 320px) {
    .SingleNews__Social--mobile {
        margin: 10px auto
    }
}

.Social_Icons {
    display: flex;
    margin-left: 20px
}

@media only screen and (max-width : 320px) {
    .Social_Icons {
        margin-left: 0
    }
}

.SocialMedia__icon {
    margin: 0 5px;
    height: 2rem;
    width: 2rem;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

.TwitterIcon {
    transition: all .2s;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 203.14'%3E%3Ctitle%3ETwitter%3C/title%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Logo_FIXED' data-name='Logo FIXED'%3E%3Cpath d='M78.62,203.14C173,203.14,224.56,125,224.56,57.2c0-2.22,0-4.43-.15-6.63A104.36,104.36,0,0,0,250,24a102.38,102.38,0,0,1-29.46,8.07A51.47,51.47,0,0,0,243.09,3.72a102.79,102.79,0,0,1-32.57,12.45,51.34,51.34,0,0,0-87.41,46.78A145.62,145.62,0,0,1,17.4,9.36,51.33,51.33,0,0,0,33.28,77.83,50.91,50.91,0,0,1,10,71.41v.65a51.31,51.31,0,0,0,41.15,50.28,51.21,51.21,0,0,1-23.16.88,51.35,51.35,0,0,0,47.92,35.62,102.92,102.92,0,0,1-63.7,22A104.41,104.41,0,0,1,0,180.1a145.21,145.21,0,0,0,78.62,23'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")
}

@media only screen and (min-width : 1025px) {
    .TwitterIcon:hover {
        transform: scale(1.1);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 203.14'%3E%3Ctitle%3ETwitter%3C/title%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Logo_FIXED' data-name='Logo FIXED'%3E%3Cpath fill='#0000D5' d='M78.62,203.14C173,203.14,224.56,125,224.56,57.2c0-2.22,0-4.43-.15-6.63A104.36,104.36,0,0,0,250,24a102.38,102.38,0,0,1-29.46,8.07A51.47,51.47,0,0,0,243.09,3.72a102.79,102.79,0,0,1-32.57,12.45,51.34,51.34,0,0,0-87.41,46.78A145.62,145.62,0,0,1,17.4,9.36,51.33,51.33,0,0,0,33.28,77.83,50.91,50.91,0,0,1,10,71.41v.65a51.31,51.31,0,0,0,41.15,50.28,51.21,51.21,0,0,1-23.16.88,51.35,51.35,0,0,0,47.92,35.62,102.92,102.92,0,0,1-63.7,22A104.41,104.41,0,0,1,0,180.1a145.21,145.21,0,0,0,78.62,23'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")
    }
}

.InstagramIcon {
    transition: all .2s;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 503.84 503.84'%3E%3Ctitle%3EInstagram%3C/title%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Logo'%3E%3Cpath d='M251.92,45.39c67.27,0,75.23.26,101.8,1.47,24.56,1.12,37.9,5.22,46.78,8.67a78.05,78.05,0,0,1,29,18.84,78.05,78.05,0,0,1,18.84,29c3.45,8.88,7.55,22.22,8.67,46.78,1.21,26.56,1.47,34.53,1.47,101.8s-.26,75.23-1.47,101.8c-1.12,24.56-5.22,37.9-8.67,46.78a83.43,83.43,0,0,1-47.81,47.81c-8.88,3.45-22.22,7.55-46.78,8.67-26.56,1.21-34.53,1.47-101.8,1.47s-75.24-.26-101.8-1.47c-24.56-1.12-37.9-5.22-46.78-8.67a78.05,78.05,0,0,1-29-18.84,78.05,78.05,0,0,1-18.84-29c-3.45-8.88-7.55-22.22-8.67-46.78-1.21-26.56-1.47-34.53-1.47-101.8s.26-75.23,1.47-101.8c1.12-24.56,5.22-37.9,8.67-46.78a78.05,78.05,0,0,1,18.84-29,78.05,78.05,0,0,1,29-18.84c8.88-3.45,22.22-7.55,46.78-8.67,26.56-1.21,34.53-1.47,101.8-1.47m0-45.39c-68.42,0-77,.29-103.87,1.52S102.93,7,86.9,13.23A123.49,123.49,0,0,0,42.28,42.28,123.49,123.49,0,0,0,13.23,86.9C7,102.93,2.74,121.24,1.52,148.05S0,183.5,0,251.92s.29,77,1.52,103.87S7,400.91,13.23,416.94a123.49,123.49,0,0,0,29.06,44.62A123.49,123.49,0,0,0,86.9,490.62c16,6.23,34.34,10.49,61.15,11.71s35.45,1.52,103.87,1.52,77-.29,103.87-1.52,45.13-5.48,61.15-11.71a128.82,128.82,0,0,0,73.68-73.68c6.23-16,10.49-34.34,11.71-61.15s1.52-35.45,1.52-103.87-.29-77-1.52-103.87-5.48-45.13-11.71-61.15a123.49,123.49,0,0,0-29.06-44.62,123.49,123.49,0,0,0-44.62-29.06C400.91,7,382.6,2.74,355.79,1.52S320.34,0,251.92,0Z'/%3E%3Cpath d='M251.92,122.56A129.36,129.36,0,1,0,381.29,251.92,129.36,129.36,0,0,0,251.92,122.56Zm0,213.34a84,84,0,1,1,84-84A84,84,0,0,1,251.92,335.89Z'/%3E%3Ccircle cx='386.4' cy='117.44' r='30.23'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")
}

@media only screen and (min-width : 1025px) {
    .InstagramIcon:hover {
        transform: scale(1.1);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 503.84 503.84'%3E%3Ctitle%3EInstagram%3C/title%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Logo'%3E%3Cpath fill='#0000D5' d='M251.92,45.39c67.27,0,75.23.26,101.8,1.47,24.56,1.12,37.9,5.22,46.78,8.67a78.05,78.05,0,0,1,29,18.84,78.05,78.05,0,0,1,18.84,29c3.45,8.88,7.55,22.22,8.67,46.78,1.21,26.56,1.47,34.53,1.47,101.8s-.26,75.23-1.47,101.8c-1.12,24.56-5.22,37.9-8.67,46.78a83.43,83.43,0,0,1-47.81,47.81c-8.88,3.45-22.22,7.55-46.78,8.67-26.56,1.21-34.53,1.47-101.8,1.47s-75.24-.26-101.8-1.47c-24.56-1.12-37.9-5.22-46.78-8.67a78.05,78.05,0,0,1-29-18.84,78.05,78.05,0,0,1-18.84-29c-3.45-8.88-7.55-22.22-8.67-46.78-1.21-26.56-1.47-34.53-1.47-101.8s.26-75.23,1.47-101.8c1.12-24.56,5.22-37.9,8.67-46.78a78.05,78.05,0,0,1,18.84-29,78.05,78.05,0,0,1,29-18.84c8.88-3.45,22.22-7.55,46.78-8.67,26.56-1.21,34.53-1.47,101.8-1.47m0-45.39c-68.42,0-77,.29-103.87,1.52S102.93,7,86.9,13.23A123.49,123.49,0,0,0,42.28,42.28,123.49,123.49,0,0,0,13.23,86.9C7,102.93,2.74,121.24,1.52,148.05S0,183.5,0,251.92s.29,77,1.52,103.87S7,400.91,13.23,416.94a123.49,123.49,0,0,0,29.06,44.62A123.49,123.49,0,0,0,86.9,490.62c16,6.23,34.34,10.49,61.15,11.71s35.45,1.52,103.87,1.52,77-.29,103.87-1.52,45.13-5.48,61.15-11.71a128.82,128.82,0,0,0,73.68-73.68c6.23-16,10.49-34.34,11.71-61.15s1.52-35.45,1.52-103.87-.29-77-1.52-103.87-5.48-45.13-11.71-61.15a123.49,123.49,0,0,0-29.06-44.62,123.49,123.49,0,0,0-44.62-29.06C400.91,7,382.6,2.74,355.79,1.52S320.34,0,251.92,0Z'/%3E%3Cpath d='M251.92,122.56A129.36,129.36,0,1,0,381.29,251.92,129.36,129.36,0,0,0,251.92,122.56Zm0,213.34a84,84,0,1,1,84-84A84,84,0,0,1,251.92,335.89Z'/%3E%3Ccircle cx='386.4' cy='117.44' r='30.23'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")
    }
}

.FacebookIcon {
    transition: all .2s;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJCQkgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDQzMC4xMTMgNDMwLjExNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDMwLjExMyA0MzAuMTE0OyIKCQkJIHhtbDpzcGFjZT0icHJlc2VydmUiPgoJCQkJPGc+CgkJCQkJPHBhdGggaWQ9IkZhY2Vib29rIiBkPSJNMTU4LjA4MSw4My4zYzAsMTAuODM5LDAsNTkuMjE4LDAsNTkuMjE4aC00My4zODV2NzIuNDEyaDQzLjM4NXYyMTUuMTgzaDg5LjEyMlYyMTQuOTM2aDU5LjgwNQoJCQkJCQljMCwwLDUuNjAxLTM0LjcyMSw4LjMxNi03Mi42ODVjLTcuNzg0LDAtNjcuNzg0LDAtNjcuNzg0LDBzMC00Mi4xMjcsMC00OS41MTFjMC03LjQsOS43MTctMTcuMzU0LDE5LjMyMS0xNy4zNTQKCQkJCQkJYzkuNTg2LDAsMjkuODE4LDAsNDguNTU3LDBjMC05Ljg1OSwwLTQzLjkyNCwwLTc1LjM4NWMtMjUuMDE2LDAtNTMuNDc2LDAtNjYuMDIxLDBDMTU1Ljg3OC0wLjAwNCwxNTguMDgxLDcyLjQ4LDE1OC4wODEsODMuM3oiLz4KCQkJCTwvZz4KCQkJCTwvc3ZnPg==)
}

@media only screen and (min-width : 1025px) {
    .FacebookIcon:hover {
        transform: scale(1.1);
        background-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJCQkgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDQzMC4xMTMgNDMwLjExNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDMwLjExMyA0MzAuMTE0OyIKCQkJIHhtbDpzcGFjZT0icHJlc2VydmUiPgoJCQkJPGc+CgkJCQkJPHBhdGggaWQ9IkZhY2Vib29rIiBmaWxsPScjMjBCQkZDJyBkPSJNMTU4LjA4MSw4My4zYzAsMTAuODM5LDAsNTkuMjE4LDAsNTkuMjE4aC00My4zODV2NzIuNDEyaDQzLjM4NXYyMTUuMTgzaDg5LjEyMlYyMTQuOTM2aDU5LjgwNQoJCQkJCQljMCwwLDUuNjAxLTM0LjcyMSw4LjMxNi03Mi42ODVjLTcuNzg0LDAtNjcuNzg0LDAtNjcuNzg0LDBzMC00Mi4xMjcsMC00OS41MTFjMC03LjQsOS43MTctMTcuMzU0LDE5LjMyMS0xNy4zNTQKCQkJCQkJYzkuNTg2LDAsMjkuODE4LDAsNDguNTU3LDBjMC05Ljg1OSwwLTQzLjkyNCwwLTc1LjM4NWMtMjUuMDE2LDAtNTMuNDc2LDAtNjYuMDIxLDBDMTU1Ljg3OC0wLjAwNCwxNTguMDgxLDcyLjQ4LDE1OC4wODEsODMuM3oiLz4KCQkJCTwvZz4KCQkJCTwvc3ZnPg==)
    }
}

.LinkedInIcon {
    transition: all .2s;
    background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M0%200v24h24v-24h-24zm8%2019h-3v-11h3v11zm-1.5-12.268c-.966%200-1.75-.79-1.75-1.764s.784-1.764%201.75-1.764%201.75.79%201.75%201.764-.783%201.764-1.75%201.764zm13.5%2012.268h-3v-5.604c0-3.368-4-3.113-4%200v5.604h-3v-11h3v1.765c1.397-2.586%207-2.777%207%202.476v6.759z%22%2F%3E%3C%2Fsvg%3E)
}

@media only screen and (min-width : 1025px) {
    .LinkedInIcon:hover {
        transform: scale(1.1);
        background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20%20fill%3D%22%230000D5%22%20d%3D%22M0%200v24h24v-24h-24zm8%2019h-3v-11h3v11zm-1.5-12.268c-.966%200-1.75-.79-1.75-1.764s.784-1.764%201.75-1.764%201.75.79%201.75%201.764-.783%201.764-1.75%201.764zm13.5%2012.268h-3v-5.604c0-3.368-4-3.113-4%200v5.604h-3v-11h3v1.765c1.397-2.586%207-2.777%207%202.476v6.759z%22%2F%3E%3C%2Fsvg%3E)
    }
}

.SingleNews__Category {
    display: flex;
    align-items: center;
    margin-bottom: 30px
}

.SingleNews__Category .Quoted_Department {
    color: #000;
    margin-left: 20px
}

.SingleNews__Title {
    margin-bottom: 15px
}

.SingleNews__Subtitle {
    margin-bottom: 30px
}

.SingleNews__Image {
    margin-bottom: 15px;
    width: 100%
}

.SingleNews__Image__Credit {
    margin-bottom: 30px;
    color: #000
}

@media only screen and (max-width : 1024px) {
    .SingleNews__Subtitle {
        color: #000
    }
}

@media only screen and (max-width : 767px) {
    .SingleNews__Subtitle {
        color: #9ea7aa
    }
}

.SingleNews__Related {
    margin-top: 40px
}

.SingleNews__Related__Image {
    position: relative;
    margin-bottom: 25px;
    border: 1px solid #F4F8FA
}

[data-lang=ja] .Services .Services__Purpose .Services__Chart__Text {
    font-size: 19px;
    padding: 0 2%
}

@media only screen and (max-width : 767px) {
    [data-lang=ja] .Services .Services__Capabilities__List__Header {
        font-size: 16px
    }
}

[data-lang=ja] .Headline_XL {
    font-family: NotoSansJP-Bold;
    font-size: 100px;
    line-height: 120%
}

@media only screen and (max-width : 1024px) {
    [data-lang=ja] .Headline_XL {
        font-size: clamp(40px, 8vw, 70px);
        line-height: 120%
    }
}

@media only screen and (max-width : 767px) {
    [data-lang=ja] .Headline_XL {
        font-size: clamp(30px, 8vw, 40px);
        line-height: 120%
    }
}

[data-lang=ja] .People__Header .Headline_XL {
    max-width: 90%;
    margin: 0 auto
}

@media only screen and (max-width : 1024px) {
    [data-lang=ja] .People__Header .Headline_XL {
        font-size: clamp(40px, 8vw, 70px);
        line-height: 120%
    }
}

@media only screen and (max-width : 767px) {
    [data-lang=ja] .People__Header .Headline_XL {
        font-size: clamp(30px, 8vw, 40px);
        line-height: 120%
    }
}

[data-lang=ja] .People__Grid {
    padding-top: 50px
}

@media only screen and (max-width : 767px) {
    [data-lang=ja] .People__Grid {
        padding-top: 40px
    }
}

@media only screen and (max-width : 767px) {
    [data-lang=ja] .PeopleGridItem {
        padding-right: 6px;
        padding-left: 6px
    }
}

@media only screen and (max-width : 767px) {
    [data-lang=ja] .PeopleGridItem__Image {
        margin-bottom: 6px
    }
}

[data-lang=ja] .PeopleGridItem__Name {
    font-size: 12px;
    line-height: 100%;
    margin-bottom: 4px
}

@media only screen and (max-width : 767px) {
    [data-lang=ja] .PeopleGridItem__Name {
        font-size: 10px;
        margin-bottom: 2px
    }
}

[data-lang=ja] .PeopleGridItem__NameExtra {
    font-size: 18px;
    line-height: 120%;
    letter-spacing: .03em
}

@media only screen and (max-width : 767px) {
    [data-lang=ja] .PeopleGridItem__NameExtra {
        font-size: 14px;
        margin-bottom: 4px
    }
}

[data-lang=ja] .PeopleGridItem__JobTitle {
    font-size: 10px;
    line-height: 120%
}


@media only screen and (max-width: 767px) {
    .Careers__Header {
        padding: 1%;
        margin-top: 40px;
    }
}