﻿@font-face {
    font-family: "YakuHanJPs";
    font-style: normal;
    font-weight: 100;
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Thin.eot");
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Thin.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Thin.woff") format("woff")
}

@font-face {
    font-family: "YakuHanJPs";
    font-style: normal;
    font-weight: 200;
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Light.eot");
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Light.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Light.woff") format("woff")
}

@font-face {
    font-family: "YakuHanJPs";
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/YakuHanJPs/YakuHanJPs-DemiLight.eot");
    src: url("../fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff") format("woff")
}

@font-face {
    font-family: "YakuHanJPs";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Regular.eot");
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Regular.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Regular.woff") format("woff")
}

@font-face {
    font-family: "YakuHanJPs";
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Medium.eot");
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Medium.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Medium.woff") format("woff")
}

@font-face {
    font-family: "YakuHanJPs";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Bold.eot");
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Bold.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Bold.woff") format("woff")
}

@font-face {
    font-family: "YakuHanJPs";
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Black.eot");
    src: url("../fonts/YakuHanJPs/YakuHanJPs-Black.woff2") format("woff2"), url("../fonts/YakuHanJPs/YakuHanJPs-Black.woff") format("woff")
}

@font-face {
    font-family: "YakuHanMP";
    font-style: normal;
    font-weight: 100;
    src: url("../fonts/YakuHanMP/YakuHanMP-Thin.html");
    src: url("../fonts/YakuHanMP/YakuHanMP-Thin-2.html") format("woff2"), url("../fonts/YakuHanMP/YakuHanMP-Thin-3.html") format("woff")
}

@font-face {
    font-family: "YakuHanMP";
    font-style: normal;
    font-weight: 200;
    src: url("../fonts/YakuHanMP/YakuHanMP-Light.eot");
    src: url("../fonts/YakuHanMP/YakuHanMP-Light.woff2") format("woff2"), url("../fonts/YakuHanMP/YakuHanMP-Light.woff") format("woff")
}

@font-face {
    font-family: "YakuHanMP";
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/YakuHanMP/YakuHanMP-DemiLight.html");
    src: url("../fonts/YakuHanMP/YakuHanMP-DemiLight-2.html") format("woff2"), url("../fonts/YakuHanMP/YakuHanMP-DemiLight-3.html") format("woff")
}

@font-face {
    font-family: "YakuHanMP";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/YakuHanMP/YakuHanMP-Regular.eot");
    src: url("../fonts/YakuHanMP/YakuHanMP-Regular.woff2") format("woff2"), url("../fonts/YakuHanMP/YakuHanMP-Regular.woff") format("woff")
}

@font-face {
    font-family: "YakuHanMP";
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/YakuHanMP/YakuHanMP-Medium.eot");
    src: url("../fonts/YakuHanMP/YakuHanMP-Medium.woff2") format("woff2"), url("../fonts/YakuHanMP/YakuHanMP-Medium.woff") format("woff")
}

@font-face {
    font-family: "YakuHanMP";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/YakuHanMP/YakuHanMP-Bold.eot");
    src: url("../fonts/YakuHanMP/YakuHanMP-Bold.woff2") format("woff2"), url("../fonts/YakuHanMP/YakuHanMP-Bold.woff") format("woff")
}

@font-face {
    font-family: "YakuHanMP";
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/YakuHanMP/YakuHanMP-Black.eot");
    src: url("../fonts/YakuHanMP/YakuHanMP-Black.woff2") format("woff2"), url("../fonts/YakuHanMP/YakuHanMP-Black.woff") format("woff")
}

@font-face {
    font-family: "icons";
    font-weight: normal;
    font-style: normal;
    src: url("../fonts/icons/iconsfd62.eot?20200109#ie") format("embedded-opentype"), url("../fonts/icons/iconsfd62.ttf?20200109") format("truetype"), url("../fonts/icons/iconsfd62.woff?20200109") format("woff"), url("../fonts/icons/iconsfd62.svg?20200109#svg") format("svg")
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: inherit;
    font-style: inherit;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

i,
em {
    font-style: normal
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

a {
    margin: 0;
    padding: 0;
    font-size: inherit;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
}

table {
        caption-side: bottom;
        border-collapse: collapse;
        width: 80%;
        font-size: 1.5rem;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

input,
select,
button,
textarea,
pre {
    font-size: inherit;
    font-family: inherit
}

input,
select {
    vertical-align: middle
}

img {
    vertical-align: bottom;
    transform: translateZ(0);
    pointer-events: none
}

sup {
    position: relative;
    top: -0.1em;
    font-size: 60%;
    vertical-align: top
}

picture {
    display: block
}

script {
    display: none !important
}

a,
area,
button,
[role=button],
input:not([type=range]),
label,
select,
summary,
textarea {
    touch-action: manipulation
}

a,
button {
    color: inherit
}

button {
    outline: none
}

button:focus,
input::-moz-focus-inner,
button::-moz-focus-inner {
    outline: none;
    border-width: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.5
}

html {
    height: 100%;
    font-family: YakuHanJPs, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
    font-size: 10px
}

@media screen and (min-width: 1920px) {
    html {
        font-size: 12px
    }
}

@media screen and (max-width: 599px) {
    html {
        font-size: 10px;
        font-size: 2.6666vw
    }
    table {
        caption-side: bottom;
        border-collapse: collapse;
        width: 80%;
        font-size: 1.1rem;
}
}

body {
    width: 100%;
    height: 100%;
    background: #fff;
    color: #000;
    font-size: 1.5rem;
    text-align: left;
    line-height: 1.9;
    hyphens: auto;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%
}

@media screen and (max-width: 599px) {
    body {
        min-width: 320px;
        max-width: 599px;
        font-size: 1.1rem
    }
}

@media screen and (min-width: 600px) {
    .sp {
        display: none !important
    }
}

@media screen and (max-width: 599px) {
    .pc {
        display: none !important
    }
}

#container_ {
    position: relative;
    min-width: 1280px;
    margin: 0 auto;
    padding: 12rem 0 0
}

#container_::after {
    display: block;
    content: "";
    clear: both;
    height: 0
}

@media screen and (max-width: 599px) {
    #container_ {
        min-width: 0;
        padding: 7rem 0 0
    }
}

@media screen and (min-width: 600px) {
    #header_ {
        display: flex;
        min-width: 1280px;
        height: 12rem;
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        z-index: 9961;
        padding: 0 7rem;
        box-sizing: border-box;
        transition: transform .5s cubic-bezier(0.19, 1, 0.22, 1), height .3s ease-in-out, background-color .3s ease-in-out
    }

    #header_>h1 {
        flex: 0 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: -1rem 3.5rem -1rem -1rem
    }

    #header_>h1>a {
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none
    }

    #header_>h1 svg {
        width: 13rem;
        height: 5rem;
        fill: currentColor
    }

    #header_>h1 b {
        display: none
    }

    #header_>nav {
        display: flex;
        align-items: center;
        flex: 1 1 auto
    }

    #header_>nav>h1 {
        display: none
    }

    #header_>nav>.container {
        display: flex;
        align-items: center;
        flex: 1 1 auto
    }

    #header_>nav>.container>.contents {
        display: flex;
        font-size: 1.3rem;
        line-height: 1
    }

    #header_>nav>.container>.contents>li>a {
        display: block;
        position: relative;
        padding: 2rem 1rem;
        text-decoration: none
    }

    #header_>nav>.container>.contents>li>a::before {
        display: block;
        content: "";
        width: calc(100% - 2rem);
        position: absolute;
        left: 1rem;
        bottom: 1.2rem;
        border-bottom: 1px solid currentColor;
        transform: scaleX(0);
        transform-origin: right top;
        transition: transform .7s cubic-bezier(0.19, 1, 0.22, 1) 0s
    }

    #header_>nav>.container>.contents>li>a:hover::before {
        transform: scaleX(1);
        transform-origin: left top
    }

    #header_>nav>.container>.contents>li>ul {
        display: none
    }

    #header_>nav>.container>.contents>li.store,
    #header_>nav>.container>.contents>li.support,
    #header_>nav>.container>.contents>li.online-shop,
    #header_>nav>.container>.contents>li.social-media {
        display: none
    }

    #header_>nav>.container>.language {
        margin: 0 0 0 auto;
        font-size: 1.2rem
    }

    #header_>nav>.container>.social-media,
    #header_>nav>.container>.site,
    #header_>nav>.container>small {
        display: none
    }

    html.fac-header-hidden:not(.fac-initial):not(.is-chrome) #header_ {
        height: 7rem;
        transform: translate3d(0, 0, 0);
        background: #fff;
        color: #000
    }

    html.fac-scroll-down:not(.fac-initial):not(.is-chrome) #header_ {
        transform: translate3d(0, -100%, 0)
    }

    html.fac-initial #header_ {
        transition-duration: 0s
    }

    html:not(.fac-header-hidden) #header_.-dark {
        color: #fff
    }

    html.is-chrome #header_ {
        position: absolute;
        color: #fff
    }
}

@media screen and (max-width: 599px) {
    #header_ {
        display: flex;
        height: 7rem;
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        z-index: 9961;
        pointer-events: none;
        transition: transform .7s cubic-bezier(0.645, 0.045, 0.355, 1), height 0s .3s
    }

    #header_>h1 {
        display: flex;
        height: 7rem;
        margin: 0;
        position: relative;
        z-index: 2;
        pointer-events: auto
    }

    #header_>h1>a {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 2.5rem 0 0;
        text-decoration: none
    }

    #header_>h1 svg {
        width: 15.7rem;
        height: 5rem;
        fill: currentColor
    }

    #header_>h1 b {
        display: none;
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: .9rem
    }

    #header_>nav {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0
    }

    #header_>nav>h1 {
        width: 8rem;
        height: 7rem;
        position: absolute;
        right: 0;
        top: 0;
        z-index: 2;
        pointer-events: auto
    }

    #header_>nav>h1::after,
    #header_>nav>h1>i::before,
    #header_>nav>h1>i::after {
        display: block;
        content: "";
        width: 3rem;
        height: 0;
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        margin: auto;
        border-top: 1px solid currentColor;
        overflow: hidden;
        transition: .3s ease-in-out;
        transition-property: transform, opacity
    }

    #header_>nav>h1>i {
        display: block;
        height: 0;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        padding: 7rem 0 0;
        overflow: hidden
    }

    #header_>nav>h1>i::before {
        margin-top: -0.65rem;
        transform-origin: right top
    }

    #header_>nav>h1>i::after {
        margin-top: .65rem;
        transform-origin: right bottom
    }

    #header_>nav>.container {
        display: grid;
        grid-template: "contents     contents" "language     language" "social-media social-media" "copyright    site" /auto 1fr;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        padding: 9rem 3rem 12.6rem;
        background: #999;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s ease-in-out
    }

    #header_>nav>.container>.contents {
        grid-area: contents
    }

    #header_>nav>.container>.language {
        grid-area: language;
        margin: 4.2rem 0 0 -1.4rem
    }

    #header_>nav>.container>.social-media {
        grid-area: social-media;
        margin: 3rem 0 0 -1.3rem;
        font-size: 2.5rem
    }

    #header_>nav>.container>.site,
    #header_>nav>.container>small {
        align-self: baseline;
        margin: 1rem 0 0;
        transform: none
    }

    #header_>nav>.container>.site {
        grid-area: site;
        position: relative;
        margin-left: 1em;
        padding: 0 0 0 .5em;
        font-size: 1rem
    }

    #header_>nav>.container>.site::before {
        display: block;
        content: "";
        position: absolute;
        left: 0;
        top: .7em;
        bottom: .7em;
        border-left: 1px solid currentColor
    }

    #header_>nav>.container>small {
        grid-area: copyright;
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 1rem
    }

    #header_>nav>.container>* {
        opacity: 0
    }

    html.fac-scroll-down:not(.fac-initial):not(.fac-nav-shown) #header_,
    html.fac-scroll-up:not(.fac-initial):not(.fac-nav-shown) #header_ {
        transform: translate3d(0, 0, 0)
    }

    html.fac-scroll-down:not(.fac-initial):not(.fac-nav-shown) #header_ {
        transform: translate3d(0, -100%, 0)
    }

    html.fac-initial #header_ {
        transition-duration: 0s
    }

    html.fac-nav-shown #header_ {
        align-items: flex-start;
        height: 100vh;
        color: #000;
        transition: height 0s
    }

    html.fac-nav-shown #header_>nav>h1::after {
        opacity: 0
    }

    html.fac-nav-shown #header_>nav>h1>i::before {
        transform: rotate(-25deg)
    }

    html.fac-nav-shown #header_>nav>h1>i::after {
        transform: rotate(25deg)
    }

    html.fac-nav-shown #header_>nav>.container {
        pointer-events: auto;
        overflow: auto;
        opacity: 1;
        pointer-events: auto
    }

    html.fac-nav-shown #header_>nav>.container>* {
        opacity: 1;
        transition: opacity .3s ease-in-out .3s
    }

    html:not(.fac-nav-shown) #header_.-dark {
        color: #fff
    }
}

#main_ {
    display: block;
    padding: 0 max(15.1111111111rem, 11.8055555556vw)
}

#main_::after {
    display: block;
    clear: both;
    height: 0;
    content: ""
}

#main_.-full {
    padding: 0
}

@media screen and (max-width: 599px) {
    #main_ {
        padding: 0 3rem;
        overflow: hidden
    }

    #main_.-full {
        padding: 0
    }
}

#contents_ {
    min-height: 50rem;
    position: relative
}

#contents_>h1 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vh;
    height: 12rem;
    position: fixed;
    z-index: 5000;
    top: 0;
    right: 0;
    padding: 0 0 0 0;
    box-sizing: border-box;
    transform: rotate(90deg) translate3d(100%, 0, 0);
    transform-origin: right top;
    pointer-events: none;
    font-size: 1.1rem;
    font-weight: normal;
    line-height: 1;
    overflow: hidden;
    transition: color .2s ease-in-out
}

#contents_>h1>span {
    display: block;
    position: relative;
    padding: 0 1em;
    white-space: nowrap
}

#contents_>h1>span::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    border-left: 1px solid currentColor;
    opacity: .2;
    transition: border-color .2s ease-in-out
}

#contents_>h1>span:first-child::before {
    display: none
}

#contents_>h1.-dark {
    color: #fff
}

#contents_>.breadcrumb {
    justify-content: end;
    position: absolute;
    right: 7rem;
    top: 5rem;
    z-index: 2;
    margin-right: calc(50% - 50vw);
    transform: translateY(-50%)
}

@media screen and (max-width: 599px) {
    #contents_>h1 {
        display: none
    }


}

@media screen and (min-width: 600px) {
    #footer_ {
        display: grid;
        grid-template: "logo      contents" auto "address   contents" 1fr/1fr 1fr;
        padding: 10rem max(15.1111111111rem, 11.8055555556vw) 8rem;
        background: #fff
    }

    #footer_>h1 {
        grid-area: logo
    }

    #footer_>h1>a {
        display: block;
        width: 16rem;
        height: 0;
        margin: -1.2rem 0 0 -1.2rem;
        padding: 7rem 0 0;
        background: url(../images/logo.svg) center center no-repeat;
        background-size: contain;
        overflow: hidden
    }

    #footer_>p {
        grid-area: address;
        padding: 2rem 0 0;
        font-size: 1.4rem
    }

    #footer_>nav {
        grid-area: contents;
        display: grid;
        grid-template: "contents  contents" "copyright site" /auto 1fr;
        transform: translateX(-100%);
        pointer-events: none
    }

    #footer_>nav>* {
        pointer-events: auto
    }

    #footer_>nav>.contents {
        grid-area: contents;
        display: grid;
        gap: 2rem 2rem;
        grid-template: "about      company      store" "service    news-release support" "products   recruit      online-shop" "products   contact      social-media" "technology contact      social-media" /1fr 1fr 1fr;
        transform: translateX(100%);
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 1.5;
        white-space: nowrap
    }

    #footer_>nav>.contents>li:not(.social-media) {
        padding: .5rem 0
    }

    #footer_>nav>.contents>li:not(.social-media) a {
        display: inline-flex;
        align-items: center;
        position: relative;
        margin: -0.5rem 0;
        padding: inherit;
        text-decoration: none
    }

    #footer_>nav>.contents>li:not(.social-media) a::before {
        display: block;
        content: "";
        width: 100%;
        position: absolute;
        left: 0;
        bottom: 0;
        border-bottom: 1px solid currentColor;
        transform: scaleX(0);
        transform-origin: right top;
        transition: transform .7s cubic-bezier(0.19, 1, 0.22, 1) 0s
    }

    #footer_>nav>.contents>li:not(.social-media) a:hover::before {
        transform: scaleX(1);
        transform-origin: left top
    }

    #footer_>nav>.contents>li:not(.social-media) a[target=_blank]::after {
        display: block;
        margin: 0 0 0 1em;
        transform: rotate(-45deg);
        content: "";
        font: normal 1em/1 icons
    }

    #footer_>nav>.contents>li:not(.social-media)>ul {
        margin: 1.5rem 0 0;
        color: #888;
        font-size: 1.2rem
    }

    #footer_>nav>.contents>li:not(.social-media)>ul>li {
        padding: .5rem 0
    }

    #footer_>nav>.contents>.about {
        grid-area: about
    }

    #footer_>nav>.contents>.service {
        grid-area: service
    }

    #footer_>nav>.contents>.products {
        grid-area: products
    }

    #footer_>nav>.contents>.technology {
        grid-area: technology
    }

    #footer_>nav>.contents>.company {
        grid-area: company
    }

    #footer_>nav>.contents>.recruit {
        grid-area: recruit
    }

    #footer_>nav>.contents>.contact {
        grid-area: contact
    }

    #footer_>nav>.contents>.store {
        grid-area: store
    }

    #footer_>nav>.contents>.support {
        grid-area: support
    }

    #footer_>nav>.contents>.online-shop {
        grid-area: online-shop
    }

    #footer_>nav>.contents>.social-media {
        grid-area: social-media
    }

    #footer_>nav>.contents>.social-media>ul {
        margin: 5rem 0 0 -1rem;
        color: inherit;
        font-size: 2rem
    }

    #footer_>nav>.language,
    #footer_>nav>.social-media {
        display: none
    }

    #footer_>nav>.site {
        grid-area: site;
        position: relative;
        margin: 0 0 0 .5em;
        font-size: 1.1rem
    }

    #footer_>nav>.site::before {
        display: block;
        content: "";
        position: absolute;
        left: 0;
        top: .7em;
        bottom: .7em;
        border-left: 1px solid currentColor
    }

    #footer_>nav>small {
        grid-area: copyright;
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 1.1rem
    }

    #footer_>nav>.site,
    #footer_>nav>small {
        align-self: baseline;
        margin-top: 11rem
    }
}

@media screen and (max-width: 1280px) {

    #footer_>nav>.site,
    #footer_>nav>small {
        transform: translateX(-302.2222222222px)
    }
}

@media screen and (max-width: 599px) {
    #footer_ {
        padding: 8.7rem 3rem 5.6rem
    }

    #footer_>h1 {
        width: 12rem;
        height: 0;
        margin: -1rem 0 0 -1rem;
        padding: 4.6rem 0 0;
        background: url(../images/logo.svg) center center no-repeat;
        background-size: contain;
        overflow: hidden
    }

    #footer_>p {
        margin: 1rem 0 0;
        font-size: 1.1rem
    }

    #footer_>nav {
        margin: 3.4rem 0 0;
        display: grid;
        grid-template: "contents     contents" "language     language" "social-media social-media" "copyright    site" /auto 1fr
    }

    #footer_>nav>.contents {
        grid-area: contents
    }

    #footer_>nav>.language {
        grid-area: language;
        margin: 4.2rem 0 0 -1.4rem
    }

    #footer_>nav>.social-media {
        grid-area: social-media;
        margin: 3rem 0 0 -1.3rem;
        font-size: 2.5rem
    }

    #footer_>nav>.site,
    #footer_>nav>small {
        align-self: baseline;
        margin: 1rem 0 0;
        transform: none
    }

    #footer_>nav>.site {
        grid-area: site;
        position: relative;
        margin-left: 1em;
        padding: 0 0 0 .5em;
        font-size: 1rem
    }

    #footer_>nav>.site::before {
        display: block;
        content: "";
        position: absolute;
        left: 0;
        top: .7em;
        bottom: .7em;
        border-left: 1px solid currentColor
    }

    #footer_>nav>small {
        grid-area: copyright;
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 1rem
    }
}

@media screen and (max-width: 599px) {
    .s-contents-nav {
        font-size: 1.3rem;
        font-weight: bold
    }

    .s-contents-nav a::after {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 5.3rem;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        content: "";
        font: normal 1em/1 icons
    }

    .s-contents-nav a[target=_blank]::after {
        transform: rotate(-45deg)
    }

    .s-contents-nav>li {
        padding: 2rem 0;
        border-bottom: 1px solid rgba(0, 0, 0, .1)
    }

    .s-contents-nav>li>a {
        display: block;
        position: relative;
        margin: -2rem 0;
        padding: inherit;
        padding-right: 5.3rem;
        text-decoration: none
    }

    .s-contents-nav>li>ul {
        margin: 1.2rem 0 0;
        color: #aaa;
        font-size: 1.1rem
    }

    .s-contents-nav>li>ul>li {
        display: flex;
        align-items: center;
        padding: .8rem 0
    }

    .s-contents-nav>li>ul>li::before {
        display: block;
        width: .7rem;
        content: "";
        border-top: 1px solid currentColor;
        margin: 0 1rem 0 0
    }

    .s-contents-nav>li>ul>li>a {
        display: flex;
        align-items: center;
        position: relative;
        margin: -0.8rem 0;
        text-decoration: none
    }

    .s-contents-nav>li>ul>li>a::after {
        display: none;
        width: auto;
        position: static;
        margin: 0 0 0 1em
    }

    .s-contents-nav>li>ul>li>a[target=_blank]::after {
        display: flex
    }

    .s-contents-nav>li.social-media {
        display: none
    }
}

.c-language-nav {
    display: flex;
    align-items: center;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1
}

.c-language-nav>li {
    position: relative
}

.c-language-nav>li::after {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    top: 1.5rem;
    bottom: 1.5rem;
    border-right: 1px solid currentColor;
    opacity: .3
}

.c-language-nav>li:last-child::after {
    display: none
}

.c-language-nav>li>a {
    display: block;
    padding: 1.4rem;
    text-decoration: none
}

.c-language-nav>li>a::before {
    display: block;
    content: "";
    width: calc(100% - 2.8rem);
    position: absolute;
    left: 1.4rem;
    bottom: .8rem;
    border-bottom: 1px solid currentColor;
    transform: scaleX(0);
    transform-origin: right top;
    transition: transform .7s cubic-bezier(0.19, 1, 0.22, 1) 0s
}

.c-language-nav>li>a:hover::before {
    transform: scaleX(1);
    transform-origin: left top
}

.c-language-nav>li.en>a {
    opacity: .4
}

.c-language-nav>li.en>a:hover {
    opacity: 1
}

.c-link {
    display: inline-flex;
    position: relative;
    text-decoration: none
}

.c-link::before {
    display: block;
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -0.58rem;
    border-bottom: 1px solid currentColor;
    transform: scaleX(0);
    transform-origin: right top;
    transition: transform .7s cubic-bezier(0.19, 1, 0.22, 1) 0s
}

.c-link:hover::before {
    transform: scaleX(1);
    transform-origin: left top
}

.c-link[target=_blank]::after {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 0 .7em;
    content: "";
    transition: none;
    font: normal .8em/1 icons
}

.c-link button.c-link {
    padding: 0;
    cursor: pointer;
    border: 0;
    border-radius: 0;
    background: rgba(0, 0, 0, 0);
    appearance: none
}

.c-button {
    display: inline-flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    cursor: pointer;
    border: none;
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none;
    line-height: 1;
    -webkit-appearance: none;
    appearance: none;
    overflow: hidden
}

.c-button::before {
    flex: 0 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(4.1em - 1px);
    height: calc(4.1em - 1px);
    margin: 0 2rem 0 0;
    border-radius: 10rem;
    border: 1px solid rgba(187, 187, 187, .4);
    content: "";
    font: normal 1.2em/1 icons
}

.c-button>svg {
    width: 4.1em;
    height: 4.1em;
    position: absolute;
    left: 0;
    left: 0;
    transform: rotate(-90deg);
    font-size: 1.2em
}

.c-button>svg>circle {
    fill: rgba(0, 0, 0, 0);
    stroke: currentColor;
    stroke-width: 1px;
    opacity: 0;
    transition: opacity .3s ease-in-out
}

.c-button:hover>svg>circle {
    opacity: 1;
    animation: circle .8s cubic-bezier(0.46, 0.23, 0.04, 0.97) forwards;
    transition-duration: 0s
}

@media screen and (max-width: 599px) {
    .c-button {
        font-size: 1.1rem
    }

    .c-button::before {
        width: calc(4.6rem - 1px);
        height: calc(4.6rem - 1px);
        margin: 0 1rem 0 0
    }

    .c-button>svg {
        display: none
    }
}

@keyframes circle {
    0% {
        stroke-dasharray: 0 366
    }

    99.9%,
    to {
        stroke-dasharray: 366 366
    }
}

.c-contents-line {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin: 0 -2rem;
    font-weight: bold
}

.c-contents-line::before {
    display: block;
    content: "";
    position: absolute;
    left: 2rem;
    right: 2rem;
    top: 0;
    border-top: 1px solid rgba(0, 0, 0, .1)
}

.c-contents-line>li {
    flex: 1 1 100%;
    display: flex;
    align-items: baseline;
    position: relative;
    padding: 2.8rem 2rem;
    box-sizing: border-box
}

.c-contents-line>li::before {
    display: block;
    content: "";
    position: absolute;
    left: 2rem;
    right: 2rem;
    bottom: 0;
    border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.c-contents-line>li>a {
    flex: 1 1 auto;
    display: flex;
    align-items: baseline;
    position: relative;
    margin: -2.8rem 0;
    padding: 2.8rem 0;
    padding-right: 7.5rem;
    text-decoration: none
}

.c-contents-line>li>a::after {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 7.5rem;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    content: "→";
    font: normal 1.2em/1 icons
}

.c-contents-line>li>a[target=_blank]::after {
    transform: rotate(-45deg)
}

.c-contents-line>li time {
    min-width: 5.2em;
    margin: 0 1.2rem 0 0;
    color: #888;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 1.2rem
}

.c-contents-line>li .c-tags {
    flex: 1 0 auto;
    width: 8.5rem;
    margin: 0 2.8rem 0 0;
    font-size: 1rem;
    font-weight: normal
}

.c-contents-line>li .c-tags>li {
    flex: 1 1 auto
}

.c-contents-line>li .c-tags>li:nth-child(n+2) {
    display: none
}

.c-contents-line>li h2 {
    flex: 1 1 100%;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 2
}

.c-contents-line>li>a::before {
    display: block;
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    border-bottom: 1px solid currentColor;
    transform: scaleX(0);
    transform-origin: right top;
    transition: transform .7s cubic-bezier(0.19, 1, 0.22, 1) 0s
}

.c-contents-line>li>a:hover::before {
    transform: scaleX(1);
    transform-origin: left top
}

@media screen and (max-width: 599px) {
    .c-contents-line {
        display: block;
        margin: 0
    }

    .c-contents-line::before {
        left: 0;
        right: 0
    }

    .c-contents-line>li {
        display: flex;
        flex-wrap: wrap;
        padding: 1.9rem 0
    }

    .c-contents-line>li::before {
        left: 0;
        right: 0
    }

    .c-contents-line>li>a {
        flex-wrap: wrap;
        margin: -1.9rem 0;
        padding: inherit;
        padding-right: 4rem
    }

    .c-contents-line>li>a::after {
        width: 4rem
    }

    .c-contents-line>li time {
        min-width: 6em;
        margin: 0 .5rem 0 0;
        font-size: 1.1rem
    }

    .c-contents-line>li .c-tags {
        flex: 0 0 8rem;
        width: auto;
        margin: 0;
        font-size: .9rem;
        white-space: nowrap
    }

    .c-contents-line>li h2 {
        margin: 1rem 0 0;
        font-size: 1.2rem
    }

    .c-contents-line>li>a::before {
        display: none
    }
}

.c-contents-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1.5rem
}

.c-contents-list>li {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    padding: 0 1.5rem;
    box-sizing: border-box
}

.c-contents-list>li>a:not(.c-button) {
    display: flex;
    flex-direction: column;
    text-decoration: none
}

.c-contents-list>li .image {
    position: relative
}

.c-contents-list>li .image::before {
    display: block;
    content: "";
    height: 0;
    padding: 68.5714% 0 0;
    overflow: hidden
}

.c-contents-list>li .image>img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover
}

.c-contents-list>li .c-tags {
    margin: 3rem 0 0;
    font-size: 1rem
}

.c-contents-list>li .c-tags>li {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .1)
}

.c-contents-list>li h2 {
    margin: 1.4rem 0 0;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 1.7rem;
    font-weight: 600
}

.c-contents-list>li p {
    margin: 1.3rem 0 0;
    font-size: 1.2rem
}

.c-contents-list>li .image+* {
    margin-top: 3rem
}

@media screen and (max-width: 599px) {
    .c-contents-list {
        display: block;
        margin: -3.5rem 0 0
    }

    .c-contents-list>li {
        padding: 3.5rem 0 0
    }

    .c-contents-list>li .c-tags {
        margin: 2rem 0 0
    }

    .c-contents-list>li h2 {
        margin: 1rem 0 0;
        font-size: 1.5rem
    }

    .c-contents-list>li p {
        margin: 1rem 0 0;
        font-size: 1.1rem
    }

    .c-contents-list>li .image+* {
        margin-top: 2rem
    }
}

.c-tags {
    display: flex;
    line-height: 1.2
}

.c-tags>li {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .25em 1em;
    border-radius: 2em;
    background: #e6eaed
}

.c-social-media {
    display: flex
}

.c-social-media>li>a {
    display: block;
    width: 2em;
    height: 0;
    position: relative;
    padding: 2em 0 0;
    overflow: hidden
}

.c-social-media>li>a::before {
    display: none
}

.c-social-media>li>a::after {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    font: normal 1em/1 icons
}

.c-social-media>li.instagram>a::after {
    content: "I"
}

.c-social-media>li.twitter>a::after {
    content: "X"
}

.c-social-media>li.youtube>a::after {
    content: "Y"
}

.c-site-nav {
    display: flex;
    line-height: 1.2
}

.c-site-nav>li {
    flex: 0 1 auto;
    padding: .5em
}

.c-site-nav>li>a {
    display: flex;
    align-items: center;
    position: relative;
    margin: -0.5em;
    padding: inherit;
    text-decoration: none
}

.c-site-nav>li>a::before {
    display: block;
    content: "";
    width: calc(100% - 1em);
    position: absolute;
    left: .5em;
    bottom: 0;
    border-bottom: 1px solid currentColor;
    transform: scaleX(0);
    transform-origin: right top;
    transition: transform .7s cubic-bezier(0.19, 1, 0.22, 1) 0s
}

.c-site-nav>li>a:hover::before {
    transform: scaleX(1);
    transform-origin: left top
}

.c-form span {
    display: inline-block
}

.c-form button,
.c-form textarea,
.c-form select,
.c-form input[type=submit],
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel],
.c-form input[type=search],
.c-form input[type=number],
.c-form input[type=password] {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    font-size: inherit;
    -webkit-appearance: none;
    appearance: none
}

.c-form input[type=date] {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    font-size: inherit
}

.c-form textarea,
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel],
.c-form input[type=search],
.c-form input[type=number],
.c-form input[type=password],
.c-form input[type=date],
.c-form select,
.c-form .c-form-file>label {
    transition: all .2s 0s;
    transition-property: border-color, background-color;
    border: 1px solid #888
}

.c-form textarea,
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel],
.c-form input[type=search],
.c-form input[type=number],
.c-form input[type=password],
.c-form input[type=date],
.c-form select {
    width: 100%;
    padding: .5em
}

.c-form textarea {
    display: block;
    height: 25rem
}

.c-form input[type=date] {
    width: auto;
    min-width: 18em
}

.c-form input[type=radio] {
    margin: 0;
    cursor: pointer
}

.c-form input[type=radio]+label {
    display: inline-block;
    padding: 0 0 0 .3em;
    cursor: pointer
}

.c-form input[type=checkbox] {
    margin: 0;
    cursor: pointer
}

.c-form input[type=checkbox]+label {
    display: inline-block;
    padding: 0 0 0 .3em;
    cursor: pointer
}

.c-form input[type=text]:focus:not([readonly]),
.c-form input[type=email]:focus:not([readonly]),
.c-form input[type=tel]:focus:not([readonly]),
.c-form input[type=search]:focus:not([readonly]),
.c-form input[type=password]:focus:not([readonly]),
.c-form input[type=date]:focus:not([readonly]),
.c-form textarea:focus:not([readonly]),
.c-form select:focus:not([readonly]) {
    border-color: #008fa5;
    outline: none
}

.c-form textarea[readonly],
.c-form input[type=text][readonly],
.c-form input[type=email][readonly],
.c-form input[type=tel][readonly],
.c-form input[type=search][readonly],
.c-form input[type=password][readonly],
.c-form input[type=date][readonly],
.c-form select[readonly] {
    pointer-events: none
}

.c-form label.c-form-radio,
.c-form label.c-form-checkbox {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    cursor: pointer
}

.c-form label.c-form-radio>input,
.c-form label.c-form-checkbox>input {
    margin: 0 .3em 0 0
}

.c-form .c-form-file {
    display: flex;
    align-items: center;
    position: relative
}

.c-form .c-form-file>input[type=file] {
    display: none
}

.c-form .c-form-file>label {
    flex: 1 0 100%;
    position: relative;
    box-sizing: border-box;
    padding: 1em 3em 1em 1em;
    cursor: pointer
}

.c-form .c-form-file>label::after {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    bottom: 0;
    width: 2em;
    content: "";
    pointer-events: none;
    font: bold 1em/1 icons
}

.c-form .c-form-file>label:hover {
    border-color: #008fa5
}

.c-form .c-form-file>.c-form-file-clear {
    display: none;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    cursor: pointer;
    white-space: nowrap;
    font-size: 1.2rem;
    opacity: 0;
    border: none;
    border-radius: 0;
    background: rgba(0, 0, 0, 0);
    appearance: none
}

.c-form .c-form-file.c-form-file--selected>label::after {
    width: 3em;
    content: "";
    font-size: 1em;
    font-weight: normal;
    opacity: .6
}

.c-form .c-form-file.c-form-file--selected>.c-form-file-clear {
    display: block
}

.c-form .c-form-file.c-form-file--selected>.c-form-file-clear:hover~label::after {
    opacity: 1
}

.c-form .c-form-field {
    margin: 1em 0 0;
    text-align: left;
    font-size: 1rem
}

.c-form .c-form-field .c-form-body {
    margin: .5em 0 0
}

.c-form textarea.c-form--error,
.c-form input[type=text].c-form--error,
.c-form input[type=email].c-form--error,
.c-form input[type=tel].c-form--error,
.c-form input[type=search].c-form--error,
.c-form input[type=number].c-form--error,
.c-form input[type=password].c-form--error,
.c-form input[type=date].c-form--error,
.c-form select.c-form--error,
.c-form .c-form-file.c-form--error>label {
    border-color: #ed7152
}

@media screen and (max-width: 599px) {
    .c-form {
        font-size: 1.3rem
    }

    .c-form textarea,
    .c-form input[type=text],
    .c-form input[type=email],
    .c-form input[type=tel],
    .c-form input[type=search],
    .c-form input[type=number],
    .c-form input[type=password],
    .c-form input[type=date],
    .c-form select,
    .c-form .c-form-file>label {
        border-radius: .6666rem
    }

    .c-form textarea,
    .c-form input[type=text],
    .c-form input[type=email],
    .c-form input[type=tel],
    .c-form input[type=search],
    .c-form input[type=number],
    .c-form input[type=password],
    .c-form input[type=date] {
        padding: .5em;
        font-size: 1.6rem
    }

    .c-form textarea {
        height: 16em
    }

    .c-form input[type=date] {
        width: 100%;
        min-width: 0
    }
}

.c-form-item {
    display: flex;
    align-items: center;
    flex: 1 1 100%
}

.c-form-item.c-form-select {
    position: relative
}

.c-form-item.c-form-select::after {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: 2em;
    height: 2.3em;
    content: "";
    pointer-events: none;
    font: bold 1em/1 icons
}

.c-form-item.c-form-select select {
    position: relative;
    padding: 1em 3em 1em 1em;
    border-color: #888;
    background-color: #fff
}

.c-form-item.c-form-select select::-ms-expand {
    display: none
}

@media screen and (max-width: 599px) {
    .c-form-item.c-form-select {
        flex: 1 1 100%
    }

    .c-form-item.c-form-select:after {
        width: 2em
    }

    .c-form-item.c-form-select select {
        width: 100%;
        padding: .5em 2em .5em .5em;
        font-size: 1.6rem
    }
}

.c-form-row {
    display: flex;
    padding: 1.5em 0 0;
    text-align: left
}

.c-form-row>header {
    flex: 0 0 26.4rem;
    box-sizing: border-box;
    padding: .8em 30px .8em 0
}

.c-form-row>header>h1 {
    font-weight: normal;
    color: #008fa5
}

.c-form-row>header>small {
    display: block;
    margin: .5em 0 0;
    font-size: 1.2rem;
    line-height: 1.5
}

.c-form-row>header>p {
    margin: 2rem 0 0
}

.c-form-row>.c-form-body {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    flex-wrap: wrap;
    margin: -2rem 0 0 -2rem
}

.c-form-row>.c-form-body>* {
    display: flex;
    flex: 1 1 100%;
    box-sizing: border-box;
    padding: 2rem 0 0 2rem;
    line-height: 1.5
}

.c-form-row>.c-form-body>div>label {
    display: block
}

.c-form-row>.c-form-body>div input[type=text],
.c-form-row>.c-form-body>div input[type=email],
.c-form-row>.c-form-body>div input[type=tel],
.c-form-row>.c-form-body>div input[type=search],
.c-form-row>.c-form-body>div input[type=number],
.c-form-row>.c-form-body>div input[type=password],
.c-form-row>.c-form-body>div textarea {
    width: 100%
}

.c-form-row>.c-form-body>div i {
    display: inline-block;
    margin: 0 .5em;
    vertical-align: middle
}

.c-form-row>.c-form-body>div>label+* {
    margin-top: .5em
}

.c-form-row>.c-form-body>div>small {
    display: block;
    margin: 1em 0 0;
    font-size: 1.2rem
}

.c-form-row>.c-form-body>div>small+small {
    margin-top: .5em
}

.c-form-row>.c-form-body>small {
    display: block;
    font-size: 1.2rem
}

.c-form-row>.c-form-body>ul.c-form-errors {
    display: block;
    flex: 1 1 100%;
    padding: .5em 0 0 2rem;
    color: #ed7152
}

.c-form-row>.c-form-body .c-form-list {
    display: flex;
    flex: 1 1 100%;
    flex-wrap: wrap;
    margin: -0.5em 0 0 -1em;
    padding-top: calc(2rem + .8em);
    padding-bottom: .8em
}

.c-form-row>.c-form-body .c-form-list>.c-form-item {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    padding: .5em 0 0 1em
}

.c-form-row>.c-form-body+.c-form-body {
    margin-top: 0;
    padding-top: 0
}

.c-form.c-form--confirm .c-form-row>.c-form-body {
    align-items: center;
    margin-top: 0;
    margin-left: 0;
    padding: .8em 0;
    word-break: break-all
}

.c-form.c-form--confirm .c-form-row>.c-form-body>* {
    padding-top: .5em;
    padding-left: .5em
}

.c-form-row.c-form-line {
    display: block
}

.c-form-row.c-form-line>header>h1 {
    padding-top: 0
}

.c-form-row.c-form-line>.c-form-body {
    width: auto;
    margin: -2rem 0 0 -2rem;
    padding: 1em 0 0
}

.c-form-row.c-form-number .c-form-body>* {
    width: 20%
}

.c-form-row.c-form-textarea .c-form-body>* {
    width: 100%
}

.c-form-row.c-form-password .c-form-body>* {
    width: 100%;
    padding-right: 50%
}

.c-form-row.c-form-email.c-form--connected .c-form-body>* {
    width: 50%
}

.c-form-row.c-form-email.c-form--connected .c-form-body>div::before {
    content: "@"
}

.c-form-row.c-form-postal-code .c-form-body>* {
    width: 30%
}

.c-form-row.c-form-postal-code.c-form--connected .c-form-body>* {
    width: 25%
}

.c-form-row.c-form-phone-number .c-form-body>* {
    width: 30%
}

.c-form-row.c-form-phone-number.c-form--connected .c-form-body>* {
    width: 25%
}

.c-form-row.c-form-group>.c-form-body {
    align-items: flex-start
}

.c-form-row.c-form--connected>.c-form-body>div {
    position: relative
}

.c-form-row.c-form--connected>.c-form-body>div::before {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 20px;
    margin: -0.5em 0 0;
    padding: 1rem 0 0;
    content: "-";
    text-align: center;
    line-height: 1
}

.c-form-row.c-form--connected>.c-form-body>div:first-child::before {
    display: none
}

@media screen and (max-width: 599px) {
    .c-form-row {
        display: block;
        padding: 2.8rem 0 0
    }

    .c-form-row:first-of-type {
        padding-top: 1.2em;
        border-top-width: 1px
    }

    .c-form-row>header {
        flex: 1 1 100%;
        padding: 0;
        font-size: 1rem
    }

    .c-form-row>header>h1 {
        font-size: 1.4rem
    }

    .c-form-row>header>small {
        font-size: 1rem
    }

    .c-form-row>header>p {
        margin: 1em 0 0
    }

    .c-form-row>.c-form-body {
        width: auto;
        margin: -1em 0 0 -0.8rem;
        padding: .8rem 0 0
    }

    .c-form-row>.c-form-body>* {
        width: 100%;
        padding: 1em 0 0 .8rem
    }

    .c-form-row>.c-form-body>small {
        font-size: 1rem
    }

    .c-form-row>.c-form-body>ul.c-form-errors {
        padding: .5em 0 0 .8rem;
        font-size: 1rem
    }

    .c-form-row>.c-form-body .c-form-list {
        margin: -0.5em 0 0 -0.8rem;
        padding-top: .5em;
        padding-bottom: 0
    }

    .c-form-row>.c-form-body .c-form-list>.c-form-item {
        padding: .5em 0 0 .8rem
    }

    .c-form.c-form--confirm .c-form-row>.c-form-body {
        margin: 0
    }

    .c-form.c-form--confirm .c-form-row>.c-form-body>* {
        width: auto
    }

    .c-form-row.c-form-line>.c-form-body {
        width: auto;
        margin: -1em 0 0 -4rem;
        padding: 1em 0 0
    }

    .c-form-row.c-form-text .c-form-body>* {
        width: 100%
    }

    .c-form-row.c-form-number .c-form-body>* {
        width: 100%
    }

    .c-form-row.c-form-password .c-form-body>* {
        padding-right: 0
    }

    .c-form-row.c-form-postal-code .c-form-body>* {
        width: 100%
    }

    .c-form-row.c-form-postal-code.c-form--connected .c-form-body>* {
        width: 50%
    }

    .c-form-row.c-form-phone-number .c-form-body>* {
        width: 100%
    }

    .c-form-row.c-form-phone-number.c-form--connected .c-form-body>* {
        width: 33.3333%
    }

    .c-form-row.c-form--connected>.c-form-body>div {
        position: relative
    }

    .c-form-row.c-form--connected>.c-form-body>div::before {
        width: 1em;
        padding: 0
    }
}

.c-form-category {
    display: block;
    padding: 6rem 0;
    text-align: left;
    color: #008fa5
}

.c-form-category>h1 {
    font-size: 2.4rem
}

.c-form-category>h1 small {
    display: inline-block;
    margin: 0 0 0 .5em;
    font-size: 1.4rem;
    font-weight: normal
}

.c-form-category:nth-of-type(even) {
    background-color: #888
}

.c-form-category:nth-of-type(even) textarea,
.c-form-category:nth-of-type(even) input[type=text],
.c-form-category:nth-of-type(even) input[type=email],
.c-form-category:nth-of-type(even) input[type=tel],
.c-form-category:nth-of-type(even) input[type=search],
.c-form-category:nth-of-type(even) input[type=number],
.c-form-category:nth-of-type(even) input[type=password],
.c-form-category:nth-of-type(even) input[type=date],
.c-form-category:nth-of-type(even) select {
    background: #fff
}

@media screen and (max-width: 599px) {
    .c-form-category {
        margin: 0 -8rem;
        padding: 8rem
    }

    .c-form-category>h1 {
        padding-bottom: .5em;
        font-size: 1.6rem
    }

    .c-form-category>h1 small {
        font-size: 1.2rem
    }
}

.c-form-footer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    margin: -2rem -2rem 0;
    padding: 13rem 0 0
}

.c-form-footer>* {
    margin: 2rem 2rem 0
}

@media screen and (max-width: 599px) {
    .c-form-footer {
        display: block;
        margin: 0;
        padding: 7rem 0 0
    }

    .c-form-footer>* {
        width: 100%;
        margin: 2.7rem 0 0
    }

    .c-form-footer>*:first-child {
        margin-top: 0
    }
}

.c-form-errors {
    font-size: 1.4rem;
    color: #ed7152
}

@media screen and (max-width: 599px) {
    .c-form-errors {
        font-size: 1.2rem
    }
}

.c-form-category.c-form--required>h1::after,
.c-form-row.c-form--required>header>h1::after {
    display: inline-block;
    position: relative;
    top: -0.2em;
    margin: 0 0 0 .3em;
    content: "*"
}

.c-form.c-form--confirm .c-form-category.c-form--required>h1::after,
.c-form.c-form--confirm .c-form-row.c-form--required>header>h1::after {
    display: none
}

.c-form-hidden {
    display: none !important
}

@media screen and (max-width: 599px) {
    .fac-trap-scrolling::after {
        position: absolute;
        bottom: -3px;
        width: 1px;
        height: 1px;
        content: ""
    }
}

.fac-switcher.fac-switcher-button,
.fac-switcher .fac-switcher-button {
    cursor: pointer
}

.fac-switcher.fac-switcher--height {
    transition: height .5s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    overflow: hidden
}

.fac-switcher.fac-switcher--height.fac-switcher--hidden:not(.fac-switcher--shown)>*:not(.fac-switcher-head),
html.fac-js-enabled:not(.fac-initial) .fac-switcher.fac-switcher--height.fac-switcher--hidden:not(.fac-switcher--shown)>*:not(.fac-switcher-head) {
    display: none
}

.fac-gallery {
    position: relative;
    margin: 0 auto;
    pointer-events: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.fac-gallery .fac-gallery-list {
    position: relative;
    pointer-events: auto
}

.fac-gallery .fac-gallery-item img {
    display: block;
    width: 100%;
    height: auto
}

.fac-gallery.fac-gallery--transition-slide .fac-gallery-list {
    display: flex;
    flex-wrap: nowrap
}

.fac-gallery.fac-gallery--transition-slide .fac-gallery-item {
    flex: 1 1 100%
}

.fac-gallery.fac-gallery--direction-vertical .fac-gallery-slider {
    height: 100%
}

.fac-gallery.fac-gallery--direction-vertical .fac-gallery-list {
    flex-direction: column
}

.fac-gallery.fac-gallery--direction-vertical .fac-gallery-item img {
    width: auto;
    height: 100%
}

.fac-gallery .fac-gallery-nav>button {
    display: block;
    overflow: hidden;
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    width: 130px;
    padding: 0;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    text-indent: 110%;
    pointer-events: auto;
    font-size: 10rem;
    font-weight: normal;
    color: #008fa5;
    border: none;
    outline: none;
    background: rgba(0, 0, 0, 0);
    appearance: none
}

.fac-gallery .fac-gallery-nav>button::after {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transition: none;
    text-indent: 0;
    font-family: icons;
    font-size: 1em;
    font-weight: inherit;
    line-height: 1;
    color: inherit
}

.fac-gallery .fac-gallery-nav>button:focus,
.fac-gallery .fac-gallery-nav>button::-moz-focus-inner {
    border: none;
    outline: none
}

.fac-gallery .fac-gallery-nav>button:hover {
    opacity: .5
}

.fac-gallery .fac-gallery-previous {
    left: -130px
}

.fac-gallery .fac-gallery-next {
    right: -130px
}

.fac-gallery .fac-gallery-previous::after {
    content: ""
}

.fac-gallery .fac-gallery-next::after {
    content: ""
}

.fac-gallery .fac-gallery-nav>ol {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    left: 0
}

.fac-gallery .fac-gallery-nav>ol>li {
    display: inline-block;
    overflow: hidden;
    position: relative;
    width: 20px;
    height: 0;
    padding: 20px 0 0;
    cursor: pointer;
    pointer-events: auto
}

.fac-gallery .fac-gallery-nav>ol>li::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 10px;
    height: 10px;
    margin: auto;
    content: "";
    transition: background-color .2s ease-in-out 0s;
    text-indent: 0;
    border-radius: 100%;
    background: #ccc
}

.fac-gallery .fac-gallery-nav>ol>li:hover::after,
.fac-gallery .fac-gallery-nav>ol>li.fac-gallery--selected::after {
    background-color: #008fa5
}

.fac-gallery.fac-gallery--less .fac-gallery-nav {
    display: none
}

.fac-gallery:not(.fac-gallery--loop).fac-gallery--first .fac-gallery-nav>.fac-gallery-previous,
.fac-gallery:not(.fac-gallery--loop).fac-gallery--last .fac-gallery-nav>.fac-gallery-next {
    pointer-events: none;
    opacity: 0
}

@media screen and (max-width: 599px) {
    .fac-gallery .fac-gallery-nav>button {
        width: 10rem;
        font-size: 5rem;
        font-weight: bold
    }

    .fac-gallery .fac-gallery-previous {
        left: 0
    }

    .fac-gallery .fac-gallery-next {
        right: 0
    }

    .fac-gallery .fac-gallery-nav>ol>li {
        width: 2.6666rem;
        padding: 2.6666rem 0 0
    }

    .fac-gallery .fac-gallery-nav>ol>li::after {
        width: 1.3333rem;
        height: 1.3333rem
    }
}

.fac-popups {
    display: flex;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    min-width: 1180px;
    min-height: 500px;
    padding: 100px 40px;
    transition: opacity .5s ease-in-out;
    pointer-events: none;
    opacity: 0
}

.fac-popups .fac-popups-board {
    position: relative;
    z-index: 2;
    width: 100%;
    pointer-events: none
}

.fac-popups .fac-gallery-list {
    pointer-events: none
}

.fac-popups .fac-gallery-item {
    overflow: auto;
    position: relative;
    box-sizing: border-box;
    background: #fff;
    -webkit-overflow-scrolling: touch
}

.fac-popups .fac-gallery-nav>button {
    pointer-events: none
}

.fac-popups .fac-popups-close {
    display: block;
    overflow: hidden;
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    box-sizing: content-box;
    width: 1em;
    height: 0;
    padding: 1em 0 0;
    cursor: pointer;
    transition: opacity .2s ease-in-out;
    transform: translate3d(0, 0, 0);
    font-size: 2rem;
    border: 2em solid rgba(0, 0, 0, 0);
    outline: none;
    background-color: rgba(0, 0, 0, 0);
    appearance: none
}

.fac-popups .fac-popups-close::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    text-align: center;
    font: normal 1em/1 icons;
    color: #008fa5
}

.fac-popups .fac-popups-close:hover {
    opacity: .6
}

.fac-popups::after {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    opacity: .8;
    background: #008fa5;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.fac-popups.fac-popups-show {
    pointer-events: auto;
    opacity: 1
}

.fac-popups.fac-popups-show .fac-gallery-item,
.fac-popups.fac-popups-show .fac-popups-close,
.fac-popups.fac-popups-show .fac-popups-background,
.fac-popups.fac-popups-show .fac-gallery-nav>button {
    pointer-events: auto
}

html.fac-initial .fac-popups {
    transition-duration: 0s
}

@media screen and (max-width: 599px) {
    .fac-popups .fac-popups {
        min-width: 280px;
        min-height: 400px;
        padding: 8rem
    }

    .fac-popups .fac-popups-close {
        font-size: 2rem;
        border-width: 1em
    }
}

.fac-popups.fac-popups-youtube .fac-popups-wrapper {
    overflow: hidden;
    height: 0;
    padding: 56.25% 0 0
}

.fac-popups.fac-popups-youtube .fac-popups-wrapper>iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.fac-parallax>img {
    display: none !important
}

.fac-parallax>.fac-parallax-image {
    transform-style: preserve-3d;
    perspective: 1000px;
    perspective-origin: 50% 50%;
    position: relative;
    overflow: hidden
}

.fac-parallax>.fac-parallax-image>img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    transform-style: preserve-3d
}
