/* ALL
======================================*/
/* include utils scss  */
/* include utils scss  */
/* Variables
======================================*/
/* Mixins
======================================*/
@keyframes fade
{
    from
    {
        opacity: 0;
    }
    to
    {
        opacity: 1;
    }
}

@keyframes slide
{
    from
    {
        transform: translateX(0);
    }
    to
    {
        transform: translateX(-100%);
    }
}

@keyframes slide-revert
{
    from
    {
        transform: translateX(-100%);
    }
    to
    {
        transform: translateX(0);
    }
}

@keyframes slideDown
{
    0%
    {
        transform: translateX(100%);

        opacity: 0;
    }
    100%
    {
        transform: translateX(0);

        opacity: 1;
    }
}

@keyframes slideUp
{
    0%
    {
        transform: translateX(0);

        opacity: 1;
    }
    100%
    {
        transform: translateX(100%);

        opacity: 0;
    }
}

.slideDown
{
    animation: slideDown .6s cubic-bezier(.075, .82, .165, 1) forwards;
}

.slideUp
{
    animation: slideUp .6s cubic-bezier(.075, .82, .165, 1) forwards;
}

.sp-visible
{
    display: none !important;
}
@media screen and (max-width: 767px)
{
    .sp-visible
    {
        display: block !important;
    }
}

.pc-visible
{
    display: block !important;
}
@media screen and (max-width: 767px)
{
    .pc-visible
    {
        display: none !important;
    }
}

.text-center
{
    text-align: center;
}

.text-underline
{
    text-decoration: underline;

    text-decoration-thickness: from-font;
}

.m-auto
{
    margin: auto;
}

.mx-auto,
.container
{
    margin-right: auto;
    margin-left: auto;
}

.mt-0
{
    margin-top: 0;
}

.mt-10
{
    margin-top: 10px;
}

.mt-20
{
    margin-top: 20px;
}

.mt-30
{
    margin-top: 30px;
}

.mt-40
{
    margin-top: 40px;
}

.mt-50
{
    margin-top: 50px;
}

.mt-60
{
    margin-top: 60px;
}

.mt-70
{
    margin-top: 70px;
}

.mt-80
{
    margin-top: 80px;
}

.mb-0
{
    margin-bottom: 0;
}

.mb-10
{
    margin-bottom: 10px;
}

.mb-20
{
    margin-bottom: 20px;
}

.mb-30
{
    margin-bottom: 30px;
}

.mb-40
{
    margin-bottom: 40px;
}

.mb-50
{
    margin-bottom: 50px;
}

.mb-60
{
    margin-bottom: 60px;
}

.mb-70
{
    margin-bottom: 70px;
}

.mb-80
{
    margin-bottom: 80px;
}

.ml-0
{
    margin-left: 0;
}

.ml-10
{
    margin-left: 10px;
}

.ml-20
{
    margin-left: 20px;
}

.ml-30
{
    margin-left: 30px;
}

.ml-40
{
    margin-left: 40px;
}

.ml-50
{
    margin-left: 50px;
}

.ml-60
{
    margin-left: 60px;
}

.ml-70
{
    margin-left: 70px;
}

.ml-80
{
    margin-left: 80px;
}

.mr-0
{
    margin-right: 0;
}

.mr-10
{
    margin-right: 10px;
}

.mr-20
{
    margin-right: 20px;
}

.mr-30
{
    margin-right: 30px;
}

.mr-40
{
    margin-right: 40px;
}

.mr-50
{
    margin-right: 50px;
}

.mr-60
{
    margin-right: 60px;
}

.mr-70
{
    margin-right: 70px;
}

.mr-80
{
    margin-right: 80px;
}

.mx-0
{
    margin-right: 0;
    margin-left: 0;
}

.mx-10
{
    margin-right: 10px;
    margin-left: 10px;
}

.mx-20
{
    margin-right: 20px;
    margin-left: 20px;
}

.-mx-20
{
    margin-right: -20px;
    margin-left: -20px;
}

.mx-30
{
    margin-right: 30px;
    margin-left: 30px;
}

.mx-40
{
    margin-right: 40px;
    margin-left: 40px;
}

.mx-50
{
    margin-right: 50px;
    margin-left: 50px;
}

.mx-60
{
    margin-right: 60px;
    margin-left: 60px;
}

.mx-70
{
    margin-right: 70px;
    margin-left: 70px;
}

.mx-80
{
    margin-right: 80px;
    margin-left: 80px;
}

.my-0
{
    margin-top: 0;
    margin-bottom: 0;
}

.my-10
{
    margin-top: 10px;
    margin-bottom: 10px;
}

.my-20
{
    margin-top: 20px;
    margin-bottom: 20px;
}

.my-30
{
    margin-top: 30px;
    margin-bottom: 30px;
}

.my-40
{
    margin-top: 40px;
    margin-bottom: 40px;
}

.my-50
{
    margin-top: 50px;
    margin-bottom: 50px;
}

.my-60
{
    margin-top: 60px;
    margin-bottom: 60px;
}

.my-70
{
    margin-top: 70px;
    margin-bottom: 70px;
}

.my-80
{
    margin-top: 80px;
    margin-bottom: 80px;
}

.pt-0
{
    padding-top: 0;
}

.pt-10
{
    padding-top: 10px;
}

.pt-20
{
    padding-top: 20px;
}

.pt-30
{
    padding-top: 30px;
}

.pt-40
{
    padding-top: 40px;
}

.pt-50
{
    padding-top: 50px;
}

.pt-60
{
    padding-top: 60px;
}

.pt-70
{
    padding-top: 70px;
}

.pt-80
{
    padding-top: 80px;
}

.pb-m10
{
    padding-bottom: -10px;
}

.pb-m20
{
    padding-bottom: -20px;
}

.pb-0
{
    padding-bottom: 0;
}

.pb-10
{
    padding-bottom: 10px;
}

.pb-20
{
    padding-bottom: 20px;
}

.pb-30
{
    padding-bottom: 30px;
}

.pb-40
{
    padding-bottom: 40px;
}

.pb-50
{
    padding-bottom: 50px;
}

.pb-60
{
    padding-bottom: 60px;
}

.pb-70
{
    padding-bottom: 70px;
}

.pb-80
{
    padding-bottom: 80px;
}

.pl-0
{
    padding-left: 0;
}

.pl-10
{
    padding-left: 10px;
}

.pl-20
{
    padding-left: 20px;
}

.pl-30
{
    padding-left: 30px;
}

.pl-40
{
    padding-left: 40px;
}

.pl-50
{
    padding-left: 50px;
}

.pl-60
{
    padding-left: 60px;
}

.pl-70
{
    padding-left: 70px;
}

.pl-80
{
    padding-left: 80px;
}

.pr-0
{
    padding-right: 0;
}

.pr-10
{
    padding-right: 10px;
}

.pr-20
{
    padding-right: 20px;
}

.pr-30
{
    padding-right: 30px;
}

.pr-40
{
    padding-right: 40px;
}

.pr-50
{
    padding-right: 50px;
}

.pr-60
{
    padding-right: 60px;
}

.pr-70
{
    padding-right: 70px;
}

.pr-80
{
    padding-right: 80px;
}

.px-0
{
    padding-right: 0;
    padding-left: 0;
}

.px-10
{
    padding-right: 10px;
    padding-left: 10px;
}

.px-20
{
    padding-right: 20px;
    padding-left: 20px;
}

.px-30
{
    padding-right: 30px;
    padding-left: 30px;
}

.px-40
{
    padding-right: 40px;
    padding-left: 40px;
}

.px-50
{
    padding-right: 50px;
    padding-left: 50px;
}

.px-60
{
    padding-right: 60px;
    padding-left: 60px;
}

.px-70
{
    padding-right: 70px;
    padding-left: 70px;
}

.px-80
{
    padding-right: 80px;
    padding-left: 80px;
}

.py-0
{
    padding-top: 0;
    padding-bottom: 0;
}

.py-10
{
    padding-top: 10px;
    padding-bottom: 10px;
}

.py-20
{
    padding-top: 20px;
    padding-bottom: 20px;
}

.py-30
{
    padding-top: 30px;
    padding-bottom: 30px;
}

.py-40
{
    padding-top: 40px;
    padding-bottom: 40px;
}

.py-50
{
    padding-top: 50px;
    padding-bottom: 50px;
}

.py-60
{
    padding-top: 60px;
    padding-bottom: 60px;
}

.py-70
{
    padding-top: 70px;
    padding-bottom: 70px;
}

.py-80
{
    padding-top: 80px;
    padding-bottom: 80px;
}

.p-0
{
    padding: 0;
}

.p-10
{
    padding: 10px;
}

.p-20
{
    padding: 20px;
}

.p-30
{
    padding: 30px;
}

.p-40
{
    padding: 40px;
}

.p-50
{
    padding: 50px;
}

.p-60
{
    padding: 60px;
}

.p-70
{
    padding: 70px;
}

.p-80
{
    padding: 80px;
}

.w-full
{
    width: 100%;
}

.h-full
{
    width: 100%;
}

.bg-gray
{
    background-color: #f2f2f2;
}

.bg-white
{
    background-color: #fff;
}

.heading
{
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;

    text-transform: uppercase;
}
.heading::first-letter
{
    color: #cb213c;
}
.heading.heading--underline
{
    font-size: 22px; 
    font-weight: 600;

    position: relative;

    padding-bottom: 30px;
}
.heading.heading--underline::after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 92px;
    height: 0;

    content: ''; 
    transform: translateX(-50%);

    border: 1px solid #707070;
    background: transparent;
}
@media screen and (min-width: 768px)
{
    .heading
    {
        font-size: 45px;
    }
    .heading.heading--underline
    {
        font-size: 28px; 

        padding-bottom: 40px;
    }
    .heading.heading--underline::after
    {
        width: 146px;
    }
}

.label
{
    font-size: 16px;
    font-weight: 600;
    line-height: 1;

    position: relative;

    display: inline-flex; 
    overflow: hidden;

    height: 40px;
    padding: 12px 20px;

    transition: .4s all;
    text-decoration: none;
    text-transform: uppercase;

    color: #fff;
    border-radius: 31px;
    outline: none;
    background-color: #cb213c;

    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 768px)
{
    .label
    {
        font-size: 20px; 

        height: 47px;
        padding: 12px 30px;
    }
}

.sr-only
{
    position: absolute;

    overflow: hidden;
    clip: rect(0, 0, 0, 0); 

    width: 1 px;
    height: 1 px;
    margin: -1 px;
    padding: 0;

    border: 0;
}

.anchor-link
{
    font-size: 16px;

    position: relative;

    display: inline-flex;

    transition: opacity .4s ease-in-out; 

    color: #cb213c;
}
.anchor-link > span
{
    line-height: 1.5;

    margin-right: 4px;

    transform: translateY(-3px); 
    text-decoration: underline;
    letter-spacing: 0;
}
.anchor-link::after
{
    content: url('/assets/images/common/next_sp.svg');
}
@media screen and (min-width: 768px)
{
    .anchor-link
    {
        font-size: 22px;
    }
    .anchor-link > span
    {
        margin-right: 10px;

        letter-spacing: .03em;
    }
    .anchor-link::after
    {
        content: url('/assets/images/common/next.svg');
    }
    .anchor-link:hover
    {
        opacity: .7;
    }
}

@keyframes arrowbefore
{
    100%
    {
        right: -31px;

        opacity: 0;
    }
}

@keyframes arrowafter
{
    100%
    {
        right: 31px;

        opacity: 1;
    }
}

.btn
{
    font-size: 13px;
    font-weight: 700;
    line-height: 14px;

    position: relative;

    display: inline-flex;
    overflow: hidden;

    width: 226px;
    height: 50px;
    padding: 0 30px;

    transition: all .4s ease-in-out; 
    letter-spacing: .04em;
    text-transform: uppercase;

    color: #fff;
    border: 1px solid #cb213c;
    border-radius: 8px;
    background-color: #cb213c;

    align-items: center;
}
.btn::before,
.btn::after
{
    position: absolute;
    top: 50%;
    right: 30px;

    width: 47px;
    height: 8px;
    margin-top: -4px;

    content: ''; 

    background-image: url(/assets/images/common/icon-arrow_sp.svg);
    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (min-width: 768px)
{
    .btn
    {
        font-size: 16px;
        line-height: 26px;

        width: 240px;
        height: 67px;
        padding: 0 34px;

        cursor: pointer;
        transition: opacity .4s ease-in-out; 

        border-radius: 11px;
    }
    .btn::before,
    .btn::after
    {
        width: 63px;

        background-image: url(/assets/images/common/icon-arrow.svg);
    }
    .btn::after
    {
        right: 67px;

        opacity: 0;
    }
    .btn::before
    {
        right: 31px;
    }
    .btn:hover
    {
        opacity: .7;
    }
    .btn:hover::before
    {
        animation: arrowbefore .5s;
    }
    .btn:hover::after
    {
        animation: arrowafter .5s;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .btn
    {
        height: 54px;
        padding: 0 30px;
    }
    .btn .icon
    {
        width: 34px;
        margin-left: 20px;
    }
}

.btn[disabled]
{
    pointer-events: none; 

    border-color: #ccc;
    background-color: #ccc;
}

.hidden
{
    display: none;
}

.container
{
    width: 100%;
    padding-right: 30px;
    padding-left: 30px;
}
.container .row
{
    display: flex;

    margin-right: -30px;
    margin-left: -30px; 

    flex-wrap: wrap;
}
.container .row > *
{
    width: 100%;
    max-width: 100%;
    padding-right: 30px;
    padding-left: 30px; 

    flex-shrink: 0;
}
.container .row .col-3
{
    flex: 0 0 auto;
}
.container .row .col-6
{
    flex: 0 0 auto;
}
@media screen and (min-width: 768px)
{
    .container
    {
        padding-right: 20px;
        padding-left: 20px;
    }
    .container .row
    {
        margin-right: -20px;
        margin-left: -20px;
    }
    .container .row > *
    {
        padding-right: 20px;
        padding-left: 20px;
    }
    .container .col-6
    {
        width: 50%;
    }
    .container .col-3
    {
        width: 33.33%;
    }
}
@media screen and (min-width: 1024px)
{
    .container
    {
        max-width: 1120px;
    }
    .container .row .col
    {
        flex: 1 0 0;
    }
    .container .row .col-3
    {
        width: 33.33%;
    }
}

/* Font Size by Viewport
======================================*/
html
{
    font-size: 16px; 

    height: 100%;
}

body
{
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;

    overflow-x: hidden;

    height: 100%;

    color: #000;
    background-color: #fff; 

    scroll-behavior: smooth;
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.unscroll
{
    overflow: hidden;
}

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

ul,
ol
{
    padding: 0;

    list-style: none;
}

ul
{
    margin: 0;
    padding: 0;
}

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

h1,
h2,
h3,
h4,
h5,
h6
{
    font-weight: 700;
}

a
{
    transition: opacity .4s; 
    text-decoration: none;

    opacity: 1;
    color: inherit;

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

img
{
    max-width: 100%;
    height: auto;
}

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

@media (prefers-reduced-motion: reduce)
{
    *
    {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;

        scroll-behavior: auto !important;
    }
}

audio,
canvas,
iframe,
img,
svg,
video,
textarea
{
    vertical-align: middle;
}

textarea
{
    resize: none;
}

section
{
    position: relative;
}

input,
select,
button
{
    outline: none;
}

.wrapper
{
    position: relative;

    background-color: #fff;
}

p
{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.625;
}

/* Change the white to any color */
input,
textarea,
button,
select,
a
{
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active
{
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;

    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;

    margin-right: auto; 
    margin-left: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table; 

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none; 
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}

.slick-arrow.slick-hidden
{
    display: none;
}

/* include component scss   */
.block .block__text p
{
    font-size: 16px;
    line-height: 26px;

    letter-spacing: .03em;
}

.block .block__text .btn
{
    margin-top: 27px;
}

.block .block__figure
{
    margin-bottom: 27px;

    text-align: center;
}
.block .block__figure img
{
    width: auto;
    height: auto;
}

@media screen and (max-width: 767px)
{
    .block .btn-group
    {
        text-align: center;
    }
}

@media screen and (min-width: 768px)
{
    .block
    {
        display: flex;
        flex-direction: row-reverse;

        justify-content: space-between;
    }
    .block .block__text
    {
        width: 50%;
    }
    .block .block__text p
    {
        font-size: 20px;
        line-height: 32px;

        letter-spacing: .04em;
    }
    .block .block__text .btn
    {
        margin-top: 92px;
    }
    .block .block__figure
    {
        margin-top: -96px;
        margin-bottom: 0;
        padding-left: 40px;
    }
}

.section-about
{
    padding: 70px 0 20px;
}
.section-about .heading
{
    margin-bottom: 15px;
}
@media screen and (min-width: 768px)
{
    .section-about
    {
        padding: 130px 0 24px;
    }
    .section-about .heading
    {
        margin-bottom: 42px;
    }
}

.section-mission
{
    padding: 0 0 50px;

    text-align: center;
}
.section-mission .heading--underline
{
    margin-bottom: 40px;
}
.section-mission .section-content p
{
    line-height: 26px;
}
@media screen and (min-width: 768px)
{
    .section-mission
    {
        padding: 0 0 100px;
    }
    .section-mission .heading--underline
    {
        margin-bottom: 36px;
    }
    .section-mission .section-content
    {
        max-width: 730px;
        margin: 0 auto;
    }
    .section-mission .section-content p
    {
        font-size: 20px;
        line-height: 32px;

        letter-spacing: .04em;
    }
}

.section-aboutkv
{
    padding: 30px 0 60px;
}
.section-aboutkv .heading
{
    margin-bottom: 25px;
}
.section-aboutkv .section-content
{
    max-width: 815px;
    margin: 0 auto;

    text-align: center;
}
.section-aboutkv .section-content .section-content__img
{
    margin-bottom: 50px;
}
.section-aboutkv .section-content .section-content__text p
{
    line-height: 26px;

    letter-spacing: .03em;
}
@media screen and (min-width: 768px)
{
    .section-aboutkv
    {
        padding: 100px 0 105px;
    }
    .section-aboutkv .heading
    {
        margin-bottom: 45px;
    }
    .section-aboutkv .section-content .section-content__img
    {
        margin-bottom: 44px;
    }
    .section-aboutkv .section-content .section-content__text p
    {
        font-size: 20px;
        line-height: 32px;

        letter-spacing: .04em;
    }
}

.corevalues .corevalues__item
{
    font-weight: 600;

    text-align: center;
}
.corevalues .corevalues__item .corevalues__icon
{
    display: flex; 

    width: 222px;
    height: 222px;
    margin-right: auto;
    margin-bottom: 10px;
    margin-left: auto;

    transition: all .4s ease-in-out;

    border-radius: 50%;
    background-color: #f2f2f2;

    align-items: center;
    justify-content: center;
}
.corevalues .corevalues__item .corevalues__icon .icon
{
    display: block;
}
.corevalues .corevalues__item .corevalues__icon .icon-hover
{
    display: none;
}
.corevalues .corevalues__item .corevalues__desc
{
    margin-top: 20px;
    margin-bottom: 50px;
}
.corevalues .corevalues__item .corevalues__desc h3
{
    font-size: 20px;
    font-weight: 600;
    line-height: 32px;

    margin-bottom: 14px;

    text-transform: uppercase;
}
.corevalues .corevalues__item .corevalues__desc p
{
    line-height: 26px;
}
.corevalues .corevalues__item:nth-child(1) .icon
{
    width: 76px;
}
.corevalues .corevalues__item:nth-child(2) .icon
{
    width: 112px;
}
.corevalues .corevalues__item:nth-child(3) .icon
{
    width: 123px;
}
.corevalues .corevalues__item:nth-child(4) .icon
{
    width: 108px;
}
.corevalues .corevalues__item.slick-current .corevalues__icon,
.corevalues .corevalues__item.active .corevalues__icon
{
    background-color: #cb213c;
}
.corevalues .corevalues__item.slick-current .corevalues__icon .icon,
.corevalues .corevalues__item.active .corevalues__icon .icon
{
    display: none;
}
.corevalues .corevalues__item.slick-current .corevalues__icon .icon-hover,
.corevalues .corevalues__item.active .corevalues__icon .icon-hover
{
    display: block;
}

@media screen and (max-width: 767px)
{
    .corevalues
    {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }
    .corevalues .corevalues__item.slick-current .corevalues__icon,
    .corevalues .corevalues__item.active .corevalues__icon
    {
        background-color: #f2f2f2;
    }
    .corevalues .corevalues__item.slick-current .corevalues__icon .icon,
    .corevalues .corevalues__item.active .corevalues__icon .icon
    {
        display: block;
    }
    .corevalues .corevalues__item.slick-current .corevalues__icon .icon-hover,
    .corevalues .corevalues__item.active .corevalues__icon .icon-hover
    {
        display: none;
    }
}

@media screen and (min-width: 768px)
{
    .corevalues
    {
        display: flex;

        flex-wrap: wrap;
    }
    .corevalues .corevalues__item
    {
        width: 25%;

        cursor: pointer;
    }
    .corevalues .corevalues__item .corevalues__icon
    {
        margin-bottom: 19px;
    }
    .corevalues .corevalues__item.slick-current .corevalues__icon,
    .corevalues .corevalues__item:hover .corevalues__icon
    {
        background-color: #cb213c;
    }
    .corevalues .corevalues__item .corevalues__desc
    {
        margin-top: 19px;
        margin-bottom: 35px;
    }
    .corevalues .corevalues__item .corevalues__desc h3
    {
        font-size: 28px;

        margin-bottom: 25px;

        letter-spacing: .04em;
        text-transform: uppercase;
    }
    .corevalues .corevalues__item .corevalues__desc p
    {
        line-height: 32px;

        letter-spacing: .04em;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .corevalues .corevalues__item
    {
        width: 50%;
    }
}

.section-corevalues
{
    padding: 0 0 100px;

    text-align: center;
}
.section-corevalues .corevalues
{
    margin-top: 30px;
    margin-bottom: 50px;
}
.section-corevalues .section-content
{
    display: none;

    margin: 0 auto;
}
.section-corevalues .section-content .corevalues__content h3
{
    font-size: 16px; 
    font-weight: 600;

    margin-bottom: 20px;
}
@media screen and (min-width: 768px)
{
    .section-corevalues
    {
        padding: 0 0 72px;
    }
    .section-corevalues .corevalues
    {
        margin: 41px -30px 35px;
    }
    .section-corevalues .section-content
    {
        display: block;

        max-width: 952px;
    }
    .section-corevalues .section-content .corevalues__content h3
    {
        font-size: 28px;
        line-height: 32px;
    }
    .section-corevalues .section-content p
    {
        font-size: 20px;
        line-height: 32px;

        letter-spacing: .04em;
    }
}

.cases__item
{
    padding: 0 7px;

    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none; 

    outline: none;
}
.cases__item img
{
    width: 100%;
    margin: 0 auto;

    transition: all .4s; 

    border: 1px solid #e4e4e4;
}

@media screen and (min-width: 768px)
{
    .cases
    {
        display: flex;

        margin: -9px -8px; 

        flex-wrap: wrap;
    }
    .cases__item
    {
        position: relative;

        overflow: hidden; 

        width: calc(50% - 16px);
        margin: 9px 8px;
        padding: 0;
    }
    .cases__item img
    {
        transition: ease-in-out .6s all; 
        transform: scale(1);

        border: none;
    }
    .cases__item::before
    {
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;

        content: ''; 
        transition: all .6s ease-in-out;

        opacity: 0;
        background-color: rgba(0, 0, 0, .75);
    }
    .cases__item::after
    {
        font-size: 20px;
        font-weight: 700;

        position: absolute;
        z-index: 2;
        top: 50%;
        left: 50%;

        content: attr(title); 
        transition: all .6s ease-in-out;
        transform: translate(-50%, -50%);
        white-space: nowrap;
        text-transform: uppercase;

        opacity: 0;
        color: #fff;
    }
    .cases__item:hover img
    {
        transform: scale3d(1.1, 1.1, 1);
    }
    .cases__item:hover::after,
    .cases__item:hover::before
    {
        opacity: 1;
    }
}

.slick-dots
{
    display: block;

    margin-top: 14px;

    text-align: center;
}
.slick-dots > li
{
    display: inline-block;
}
.slick-dots > li button
{
    overflow: hidden;

    width: 10px;
    height: 10px;
    padding: 0;

    text-indent: -999px;

    border: none;
    border-radius: 50%; 
    background-color: #e4e4e4;
}
.slick-dots > li.slick-active button
{
    background-color: #cb213c;
}
.slick-dots > li + li
{
    margin-left: 14px;
}

.stats
{
    display: flex;
}
.stats .stats__item
{
    display: flex;

    align-items: flex-end;
}
.stats .stats__item__num
{
    font-size: 45px;
    font-weight: 700;
    line-height: 1; 

    position: relative;

    margin-right: 15px;
    padding-left: 6px;

    color: #cb213c;
}
.stats .stats__item__num::after
{
    font-size: 44px;
    font-weight: 700;

    position: absolute;
    top: -17px;
    right: -22px;

    content: '+'; 

    color: #cb213c;
}
.stats .stats__item__label
{
    font-size: 16px; 
    font-weight: 500;
}
.stats .stats__item:nth-of-type(2)
{
    margin-left: 5px;
}
@media screen and (min-width: 768px)
{
    .stats
    {
        display: block;
    }
    .stats .stats__item__num
    {
        font-size: 68px;
        font-weight: 700;
        line-height: 1; 

        margin-right: 27px;
    }
    .stats .stats__item__num::after
    {
        font-size: 45px; 
        font-weight: 700;

        top: -11px;
        right: -28px;
    }
    .stats .stats__item__label
    {
        font-size: 31px;
    }
    .stats .stats__item:nth-of-type(2)
    {
        margin-top: 77px;
        margin-left: 0;
    }
    .stats .stats__item:nth-of-type(2) .stats__item__num
    {
        padding-left: 0;

        letter-spacing: -4px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .stats .stats__item__num
    {
        font-size: 50px;
    }
    .stats .stats__item__label
    {
        font-size: 22px;
    }
    .stats .stats__item:nth-of-type(2)
    {
        margin-top: 30px;
    }
}

.section-cases
{
    padding: 20px 0;
}
.section-cases .heading
{
    margin-bottom: 38px;
}
.section-cases__content .section-cases__stats
{
    margin-bottom: 43px;
}
.section-cases .anchor-link
{
    margin-top: 10px;
}
@media screen and (max-width: 767px)
{
    .section-cases .section-cases__project
    {
        margin-right: -30px;
        margin-left: -30px;
    }
    .section-cases .btn-group
    {
        margin-top: 16px;

        text-align: center;
    }
}
@media screen and (min-width: 768px)
{
    .section-cases
    {
        padding: 80px 0 70px;
    }
    .section-cases .heading
    {
        margin-bottom: 45px;
    }
    .section-cases__content
    {
        display: flex;

        justify-content: space-between;
    }
    .section-cases__content .section-cases__stats
    {
        width: 340px;
        margin-bottom: 0;
    }
    .section-cases__content .section-cases__project
    {
        width: calc(100% - 340px);
    }
    .section-cases .anchor-link
    {
        margin-top: 0;

        transform: translateY(-30px);
    }
    .section-cases .btn-group
    {
        margin-top: -65px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .section-cases__content .section-cases__stats
    {
        width: 250px;
    }
    .section-cases__content .section-cases__project
    {
        width: calc(100% - 250px);
    }
    .section-cases .btn-group
    {
        margin-top: -54px;
    }
}

.projects .projects__item
{
    padding: 20px 0;
}
.projects .projects__item .projects-name
{
    font-size: 22px;
    font-weight: 600;
    line-height: 24px;

    margin-bottom: 18px;

    text-align: center;
    text-transform: uppercase; 

    color: #000100;
}
.projects .projects__item .projects-name::first-letter
{
    color: #cb213c;
}
.projects .projects__item .projects__slider .projects__slider__item img
{
    margin: 0 auto;
}
.projects .projects__item .project__infos
{
    margin-top: 20px;
    margin-bottom: 25px;
}
.projects .projects__item .project__infos .project__infos__item
{
    font-size: 16px;
    line-height: 19px;

    letter-spacing: .03em;
}
.projects .projects__item .project__infos .project__infos__item .project__infos__label
{
    font-weight: 600;

    margin-bottom: 8px;

    text-transform: uppercase;
}
.projects .projects__item .project__infos .project__infos__item .project__infos__value
{
    line-height: 26px;

    word-break: break-word;
}
.projects .projects__item .project__infos .project__infos__item + .project__infos__item
{
    margin-top: 20px;
}
.projects .projects__item .projects__desc
{
    line-height: 26px; 

    margin-bottom: 50px;
}
.projects .projects__item .project-staffs
{
    text-transform: uppercase;
}
.projects .projects__item .project-staffs__title
{
    font-size: 22px;
    font-weight: 600;
    line-height: 24px;

    margin-bottom: 20px;

    text-transform: uppercase;
}
.projects .projects__item .project-staffs .project-staffs__item
{
    font-size: 16px;
    line-height: 26px;
}
.projects .projects__item .project-staffs .project-staffs__item .project-staffs__inner
{
    position: relative;

    padding-left: 15px;
}
.projects .projects__item .project-staffs .project-staffs__item .project-staffs__inner::after
{
    position: absolute;
    top: 7px;
    left: 0;

    width: 1px;
    height: calc(100% - 14px);

    content: ''; 

    background-color: #707070;
}
.projects .projects__item .project-staffs .project-staffs__item .project-staffs__position
{
    font-weight: 600;
}
.projects .projects__item .project-staffs .project-staffs__item + .project-staffs__item
{
    margin-top: 20px;
}

@media screen and (min-width: 768px)
{
    .projects .slick-arrow
    {
        z-index: 1;
        top: 230px;

        width: 25px;
        height: 48px;

        transition: opacity .4s ease-in-out; 

        background: url(../images/common/icon-nav.svg) no-repeat center center;
        background-size: cover;
    }
    .projects .slick-arrow:hover
    {
        opacity: .7;
    }
    .projects .slick-arrow.slick-next
    {
        right: 85px;
    }
    .projects .slick-arrow.slick-prev
    {
        left: 85px;
    }
    .projects .projects__item .projects-name
    {
        font-size: 28px;
        font-weight: 600;
        line-height: 54px; 

        margin-bottom: 30px;
    }
    .projects .projects__item .project__infos
    {
        margin-top: 60px;
        margin-bottom: 50px;
    }
    .projects .projects__item .project__infos .project__infos__item
    {
        font-size: 20px;
        line-height: 32px;

        display: flex; 

        letter-spacing: .04em;
    }
    .projects .projects__item .project__infos .project__infos__item .project__infos__label
    {
        width: 20%;
        margin-bottom: 0;
    }
    .projects .projects__item .project__infos .project__infos__item .project__infos__value
    {
        line-height: 32px;

        width: 80%;

        transition: opacity .4s ease-in-out;
    }
    .projects .projects__item .project__infos .project__infos__item .project__infos__value a:hover
    {
        opacity: .7;
    }
    .projects .projects__item .project__infos .project__infos__item + .project__infos__item
    {
        margin-top: 0;
    }
    .projects .projects__item .project__infos .project__infos__item:nth-of-type(1)
    {
        text-transform: uppercase;
    }
    .projects .projects__item .projects__desc
    {
        font-size: 20px;
        line-height: 32px;
    }
    .projects .projects__item .project-staffs
    {
        display: flex;

        flex-wrap: wrap;
    }
    .projects .projects__item .project-staffs::after
    {
        display: table;
        clear: both;

        content: '';
    }
    .projects .projects__item .project-staffs__title
    {
        font-size: 20px;
        font-weight: 600;
        line-height: 32px; 

        margin-bottom: 20px;
    }
    .projects .projects__item .project-staffs .project-staffs__item
    {
        font-size: 20px;
        line-height: 32px; 

        width: 24%;
        margin-bottom: 30px;
    }
    .projects .projects__item .project-staffs .project-staffs__item .project-staffs__inner
    {
        padding-right: 15px;
    }
    .projects .projects__item .project-staffs .project-staffs__item .project-staffs__inner::after
    {
        top: 9px;

        height: calc(100% - 18px);
    }
    .projects .projects__item .project-staffs .project-staffs__item .project-staffs__member
    {
        letter-spacing: .04em;
    }
    .projects .projects__item .project-staffs .project-staffs__item + .project-staffs__item
    {
        margin-top: 0;
    }
    .projects .projects__item .project-staffs .project-staffs__item:last-child
    {
        width: 28%;
    }
    .projects .projects__item + .projects__item
    {
        margin-top: 50px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .projects .slick-arrow.slick-next
    {
        right: 0;
    }
    .projects .slick-arrow.slick-prev
    {
        left: 0;
    }
}

.section-case-list
{
    padding: 30px 0 50px;
}
@media screen and (max-width: 767px)
{
    .section-case-list .heading
    {
        margin-bottom: 17px;
    }
}
@media screen and (min-width: 768px)
{
    .section-case-list
    {
        padding: 100px 0;
    }
}

.footer
{
    color: #fff;
    background-color: #cb213c;
}
.footer .footer__content
{
    padding: 68px 0 39px;
}
.footer .footer__content h2
{
    font-size: 28px;
    font-weight: 600;

    margin-bottom: 67px;

    text-align: left;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.footer .contact__item
{
    box-shadow: 0 .5px 0 #fff;
}
.footer .contact__item p
{
    font-size: 14px;
    line-height: 17px;

    padding-bottom: 2px;

    letter-spacing: .01em;
}
.footer .contact__item + .contact__item
{
    margin-top: 30px;
}
.footer .contact + .contact
{
    margin-top: 50px;
}
.footer .copyright
{
    margin-top: 50px;
}
.footer .copyright p
{
    font-size: 12px;

    letter-spacing: .03em;
    text-transform: uppercase;
}
.footer .footer__nav
{
    display: none;
}
@media screen and (max-width: 767px)
{
    .footer .container
    {
        background: url(../images/common/bg_footer_sp@2x.png) no-repeat right center;
        background-size: 343px auto;
    }
}
@media screen and (min-width: 768px)
{
    .footer a
    {
        transition: opacity .4s ease-in-out; 

        opacity: 1;
    }
    .footer a:hover
    {
        opacity: .7;
    }
    .footer .footer__bg
    {
        background: url(../images/common/bg_footer@2x.png) no-repeat right center;
        background-size: 640px auto;
    }
    .footer .contact
    {
        margin-top: 3px;
    }
    .footer .contact__item
    {
        padding-bottom: 10px;
    }
    .footer .contact__item p
    {
        font-size: 16px;
        line-height: 19px;

        letter-spacing: .03em;
    }
    .footer .contact__item + .contact__item
    {
        margin-top: 50px;
    }
    .footer .copyright
    {
        margin-top: 50px;
    }
    .footer .footer__content
    {
        padding: 50px 0 62px;
    }
    .footer .footer__content h2
    {
        font-size: 45px;
        line-height: 55px;

        letter-spacing: .02em;
    }
    .footer .footer__content .container
    {
        max-width: 1240px;
        min-height: 270px;
    }
    .footer .footer__content .container .footer__left
    {
        display: flex;

        max-width: 740px;
    }
    .footer .footer__content .container .footer__left .contact:first-child
    {
        max-width: 311px;
    }
    .footer .footer__content .container .footer__left .contact + .contact
    {
        margin-top: 3px;
        margin-left: 88px;
    }
    .footer .footer__nav
    {
        display: block;

        padding: 15px 0;

        text-align: center;

        border-top: 1px solid #fff;
    }
    .footer .footer__nav .nav__item a
    {
        font-size: 14px;
        line-height: 18px;

        letter-spacing: .1em;
    }
    .footer .footer__nav .nav__item + .nav__item
    {
        margin-left: 40px;
    }
}

.header
{
    padding: 15px 0;

    color: #cb213c;
}
.header__nav h2
{
    position: absolute;

    clip: rect(1px, 1px, 1px, 1px);
}
.header__nav a
{
    text-transform: uppercase;
}
.header__left
{
    position: relative;
}
.header__left .header__logo
{
    display: block;
}
.header__left .header__logo h1
{
    line-height: 0;
}
@media screen and (max-width: 767px)
{
    .header__left .header__logo img
    {
        width: 70px;
        height: auto;
    }
}
.header__left .header__hamburger
{
    position: fixed;
    z-index: 10;
    top: 0;
    right: 0;

    height: 60px;
    padding-right: 20px;
    padding-bottom: 3px;

    text-align: right;

    border: none; 
    background-color: transparent;
}
.header__left .header__hamburger > span
{
    display: block;

    width: 33px;
    height: 4px;
    margin-left: auto;

    transition: transform .4s cubic-bezier(.075, .82, .165, 1); 
    transform: none;

    border-radius: 2px;
    background-color: #cb213c;
}
.header__left .header__hamburger > span + span
{
    margin-top: 5px;
}
.header__left .header__hamburger > span:last-child
{
    width: 17px;
}
.header__left .header__hamburger > span.sr-only
{
    width: 1px;
    height: 1px;
    margin: -1px;
}
.header--fixed
{
    position: fixed;
    z-index: 10;
    top: -74px;

    display: none;

    width: 100%;

    transition: all .6s cubic-bezier(.215, .61, .355, 1); 

    opacity: 0;
    color: #fff;
    background-color: #cb213c;
}
.header--fixed .header__left
{
    display: flex; 

    padding-top: 0;

    align-items: center;
}
.header--fixed .header__left .header__hamburger
{
    background-color: transparent;
}
.header--fixed .header__left .header__hamburger > span
{
    background-color: #000;
}
.header--fixed.js-show
{
    top: 0;

    opacity: 1;
}
@media screen and (max-width: 767px)
{
    .header .container
    {
        padding-right: 20px;
        padding-left: 20px;
    }
    .header #menu
    {
        position: fixed;
        z-index: 2;
        top: 0;
        right: 0;

        overflow-y: auto;

        width: 76.4102564%;
        height: 100%;
        padding-top: 120px;
        padding-left: 45px;

        transform: translateY(-100%);

        opacity: 0; 
        border-radius: 21px 0 0;
        background-color: #cb213c;
    }
    .header--fixed .header__right
    {
        display: none;
    }
    .header__nav .nav__item
    {
        font-size: 19px;
        line-height: 1; 

        position: relative;

        display: block;
    }
    .header__nav .nav__item a
    {
        font-weight: 600; 

        color: #fff;
    }
    .header__nav .nav__item a.active
    {
        font-size: 20px;
    }
    .header__nav .nav__item + .nav__item
    {
        margin-top: 50px;
    }
}
@media screen and (min-width: 768px)
{
    .header .container
    {
        display: flex;

        max-width: 1240px; 

        align-items: center;
        justify-content: space-between;
    }
    .header__left .header__logo img
    {
        max-height: 70px;
    }
    .header__left .header__hamburger
    {
        display: none;
    }
    .header__right
    {
        display: flex; 

        align-items: center;
    }
    .header__nav .nav__item
    {
        position: relative;

        display: inline-block;

        padding-left: 0;

        letter-spacing: .028em;
    }
    .header__nav .nav__item:first-child
    {
        padding-left: 0;
    }
    .header__nav .nav__item a
    {
        font-size: 14px;
        font-weight: 600;

        position: relative;

        letter-spacing: .1em;
    }
    .header__nav .nav__item a::after
    {
        position: absolute;
        bottom: -6px;
        left: 50%;

        width: 0;
        height: 1px;

        content: ''; 
        transition: .2s width;
        transform: translateX(-50%);

        border-bottom: 1px solid;
    }
    .header__nav .nav__item a.active::after,
    .header__nav .nav__item a:hover::after
    {
        width: 100%;
    }
    .header__nav .nav__item + .nav__item
    {
        margin-left: 60px;
    }
    .header--fixed
    {
        top: -74px;

        display: block;
    }
    .header--fixed .header__right,
    .header--fixed .header__left
    {
        display: flex;

        margin-top: 0;
        padding-top: 0; 

        align-items: center;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .header__nav .nav__item a
    {
        font-size: 13px;
    }
    .header__nav .nav__item + .nav__item
    {
        margin-left: 30px;
    }
}

.header-open .header .header__hamburger > span
{
    background-color: #fff;
}
.header-open .header .header__hamburger > span:nth-of-type(2)
{
    transform: translateY(5px) rotate(45deg);
}
.header-open .header .header__hamburger > span:nth-of-type(4)
{
    display: none;
}
.header-open .header .header__hamburger > span:nth-of-type(3)
{
    transform: translateY(-4px) rotate(-45deg);
}

body.menu-open
{
    position: relative;
}
body.menu-open::after
{
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: ''; 

    background-color: transparent;
}
@media screen and (max-width: 767px)
{
    body.menu-open
    {
        overflow: hidden;
    }
}

.home .wrapper
{
    transition: opacity .8s ease-in-out; 

    opacity: 1;
}

.loading
{
    overflow: hidden;
}

.loading .wrapper
{
    opacity: 0;
}

.kevisual
{
    padding-top: 35px;

    text-align: center;
}
.kevisual img
{
    width: auto;
    height: auto;
}
@media screen and (max-width: 767px)
{
    .kevisual
    {
        padding-top: 15px;
    }
}

.splash
{
    position: fixed;
    top: 0;
    left: 0;

    display: flex;
    overflow: hidden; 

    width: 100%;
    height: 100%;

    align-items: center;
    justify-content: center;
}
.splash video
{
    position: absolute;
    top: 50%;

    width: 100%;
    height: auto;

    transform: translateY(-50%);
}
@media screen and (max-width: 767px)
{
    .splash video
    {
        position: absolute;
        top: 50%;
        left: 50%;

        transform: translate(-50%, -50%);
    }
}

.members
{
    margin-right: -15px;
    margin-left: -15px;
}
.members .members__item
{
    text-align: center;
}
.members .members__item__img
{
    margin-bottom: 28px;
}
.members .members__item__img img
{
    min-width: 260px;
    margin-right: auto;
    margin-left: auto;
}
.members .members__item__position
{
    font-weight: 500;

    margin: 20px auto 18px;

    text-transform: uppercase;
}
.members .members__item__name
{
    font-size: 22px;
    font-weight: 600;
    line-height: 24px;

    margin-bottom: 18px;

    text-transform: uppercase;
}
.members .members__item__bio
{
    font-size: 16px;
    line-height: 26px;

    letter-spacing: .03em;
}
@media screen and (min-width: 768px)
{
    .members .members__item
    {
        padding-right: 15px;
        padding-left: 15px;
    }
    .members .members__item__img
    {
        margin-bottom: 23px;
    }
    .members .members__item__img img
    {
        min-width: 240px;
        max-width: none;
    }
    .members .members__item__position
    {
        margin-top: 23px;
        margin-bottom: 27px;
    }
    .members .members__item__name
    {
        font-size: 20px;
    }
    .members .members__item__bio
    {
        line-height: 25px; 

        padding: 0 5px;
    }
}

.slick-arrow
{
    position: absolute;
    top: 107px;

    overflow: hidden;

    width: 20px;
    height: 39px;
    padding: 0;

    cursor: pointer; 
    text-indent: -9999px;

    border: none;
    border-radius: 0;
    background: url(../images/common/icon-nav.svg) no-repeat center center;
    background-size: cover;
}
.slick-arrow.slick-next
{
    right: 20px;
}
.slick-arrow.slick-prev
{
    left: 20px;

    transform: rotate(180deg);
}

.section-members
{
    padding: 50px 0 100px;
}
.section-members .container--members
{
    position: relative;

    margin-right: auto;
    margin-left: auto;
}
.section-members .heading
{
    margin-bottom: 30px;
}
.section-members .members
{
    position: static;

    max-width: 1120px;
    margin-right: auto;
    margin-left: auto;
}
@media screen and (min-width: 768px)
{
    .section-members
    {
        padding: 60px 0 150px;
    }
    .section-members .container--members
    {
        max-width: 1220px;
        padding-right: 10px;
        padding-left: 10px;
    }
    .section-members .heading
    {
        margin-bottom: 48px;
    }
    .section-members .members .slick-arrow
    {
        top: 84px;

        transition: opacity .4s ease-in-out;
    }
    .section-members .members .slick-arrow.slick-next
    {
        right: 10px;
    }
    .section-members .members .slick-arrow.slick-prev
    {
        left: 10px;
    }
    .section-members .members .slick-arrow:hover
    {
        opacity: .7;
    }
}

.page-recruitment
{
    padding-bottom: 0;
}
@media screen and (min-width: 768px)
{
    .page-recruitment .section-content
    {
        max-width: 880px;
    }
}

.jobs__info
{
    display: flex;
}
.jobs__info span
{
    text-transform: uppercase;
}
.jobs__info span:first-child
{
    width: 120px;
}
@media screen and (min-width: 768px)
{
    .jobs__info span
    {
        font-size: 20px;
    }
}

.section-recruitment
{
    padding-bottom: 100px;
}
.section-recruitment .heading
{
    text-align: center;
}
.section-recruitment .jobs
{
    margin-top: 40px;
}
.section-recruitment .jobs .label
{
    margin-bottom: 15px;
}
.section-recruitment .jobs .btn
{
    margin-top: 30px;
}
.section-recruitment .jobs .jobs__item .jobs__detail__position
{
    font-weight: 600; 

    margin-bottom: 20px;
}
.section-recruitment .jobs .jobs__item + .jobs__item
{
    margin-top: 40px;
}
.section-recruitment .jobs .jobs__item .jobs__img
{
    margin-bottom: 25px;

    text-align: center;
}
.section-recruitment .jobs .jobs__item .jobs__img img
{
    width: auto;
}
.section-recruitment .section-content__right
{
    margin-top: 50px;
}
.section-recruitment .section-content__right .benefits
{
    margin-top: 20px;
}
@media screen and (max-width: 767px)
{
    .section-recruitment .btn-group
    {
        text-align: center;
    }
    .section-recruitment .section-content .heading--underline
    {
        font-size: 16px;
        font-weight: 700;

        padding-bottom: 20px;

        letter-spacing: .05em;
    }
    .section-recruitment .section-content .heading--underline:after
    {
        width: 82px;
    }
}
@media screen and (min-width: 768px)
{
    .section-recruitment
    {
        padding-bottom: 150px;
    }
    .section-recruitment .container
    {
        max-width: 880px;
    }
    .section-recruitment .jobs .jobs__item
    {
        display: flex;
        flex-direction: row-reverse;
    }
    .section-recruitment .jobs .jobs__item .label
    {
        margin-bottom: 40px;
    }
    .section-recruitment .jobs .jobs__item .btn
    {
        margin-top: 70px;
    }
    .section-recruitment .jobs .jobs__item .jobs__detail
    {
        width: 50%;
    }
    .section-recruitment .jobs .jobs__item .jobs__detail .jobs__detail__position
    {
        font-size: 28px; 

        margin-bottom: 40px;
    }
    .section-recruitment .jobs .jobs__item .jobs__img
    {
        width: 50%;
    }
    .section-recruitment .jobs .jobs__item + .jobs__item
    {
        margin-top: 45px;
    }
    .section-recruitment .section-content
    {
        font-size: 20px;
        line-height: 32px;
    }
    .section-recruitment .section-content .section-content__left
    {
        margin-top: 50px;
    }
    .section-recruitment .section-content .section-content__right
    {
        margin-top: 75px;

        text-align: center;
    }
    .section-recruitment .section-content .section-content__right .benefits
    {
        margin-top: 40px;
    }
    .section-recruitment .section-content .section-content__right .benefits p
    {
        font-size: 20px;
        line-height: 32px;
    }
    .section-recruitment .section-content .section-content__right .benefits ul li
    {
        font-size: 20px;
        line-height: 32px;
    }
    .section-recruitment .section-content .section-content__right .benefits ul li::before
    {
        position: initial;

        padding-right: 5px;
    }
}

.section-recruitment-deatil
{
    margin-top: 40px;
    padding-bottom: 100px;
}
.section-recruitment-deatil .h3
{
    font-weight: 700;

    margin-bottom: 5px;

    text-transform: uppercase;
}
.section-recruitment-deatil .heading
{
    margin-bottom: 25px;
}
.section-recruitment-deatil .jobs__desc
{
    margin-top: 25px;
    margin-bottom: 50px;
}
.section-recruitment-deatil .jobs__desc .jobs__text
{
    margin-top: 25px;
}
.section-recruitment-deatil .jobs__detail .jobs__detail__item + .jobs__detail__item
{
    position: relative;

    margin-top: 25px;
    padding-top: 25px;
}
.section-recruitment-deatil .jobs__detail .jobs__detail__item + .jobs__detail__item::after
{
    position: absolute;
    top: 0;
    left: 50%;

    width: 94px;
    height: 1px;

    content: ''; 
    transform: translateX(-50%);

    background-color: #050404;
}
@media screen and (max-width: 767px)
{
    .section-recruitment-deatil .jobs__desc .jobs__figure
    {
        display: block;

        width: auto;
        margin-right: auto;
        margin-left: auto;
    }
    .section-recruitment-deatil .jobs__desc .jobs__img
    {
        margin-bottom: 25px;
    }
}
@media screen and (min-width: 768px)
{
    .section-recruitment-deatil
    {
        margin-top: 100px;
        padding-bottom: 150px;
    }
    .section-recruitment-deatil .h3
    {
        font-size: 20px; 

        margin-bottom: 15px;
    }
    .section-recruitment-deatil .heading
    {
        margin-bottom: 50px;
    }
    .section-recruitment-deatil .jobs__desc
    {
        display: flex;
        flex-direction: row-reverse;

        margin-top: 25px;
    }
    .section-recruitment-deatil .jobs__desc .jobs__img
    {
        width: 50%;

        text-align: right;
    }
    .section-recruitment-deatil .jobs__desc .jobs__text
    {
        font-size: 20px; 

        width: 50%;
        padding-right: 90px;
    }
    .section-recruitment-deatil .jobs__desc .jobs__text p
    {
        font-size: 20px;
    }
    .section-recruitment-deatil .jobs__detail
    {
        font-size: 20px;

        display: flex;
    }
    .section-recruitment-deatil .jobs__detail .jobs__detail__item
    {
        width: 33.333333%;
        padding-right: 10px;
    }
    .section-recruitment-deatil .jobs__detail .jobs__detail__item + .jobs__detail__item
    {
        margin-top: 0;
        padding-top: 0;
        padding-left: 20px;

        border-left: 1px solid #707070;
    }
    .section-recruitment-deatil .jobs__detail .jobs__detail__item + .jobs__detail__item::after
    {
        display: none;
    }
    .section-recruitment-deatil .jobs__detail .jobs__detail__item:nth-child(2)
    {
        padding-right: 20px;
    }
}

.section-recruitment-deatil ul li,
.section-recruitment ul li
{
    line-height: 22px;

    position: relative;

    margin-top: 10px;
    padding-left: 15px;

    letter-spacing: .04em;
}
.section-recruitment-deatil ul li::before,
.section-recruitment ul li::before
{
    position: absolute;
    top: 0;
    left: 0;

    content: '-';
}

@media screen and (min-width: 768px)
{
    .section-recruitment-deatil ul li,
    .section-recruitment ul li
    {
        line-height: 32px; 

        margin-top: 0;
    }
}

.section-services
{
    padding: 50px 0;
}
.section-services .heading
{
    margin-bottom: 15px;
}
.section-services .block-img
{
    margin-bottom: 32px;

    text-align: center;
}
.section-services .block-img img
{
    width: auto;
    height: auto;
}
.section-services .anchor
{
    text-align: center;
}
@media screen and (max-width: 767px)
{
    .section-services .block-img
    {
        margin-right: -10px;
        margin-left: -10px;
    }
}
@media screen and (min-width: 768px)
{
    .section-services
    {
        padding: 106px 0 50px;
    }
    .section-services .heading
    {
        margin-bottom: 48px;
    }
    .section-services .block-img
    {
        margin-bottom: 43px;

        text-align: center;
    }
}

.section-service-list
{
    padding: 30px 0 100px;
}
.section-service-list .service
{
    margin-top: 25px;
}
.section-service-list .service .service__img
{
    margin: 30px auto;
}
@media screen and (max-width: 767px)
{
    .section-service-list .service .service__img
    {
        text-align: center;
    }
    .section-service-list .service .service__img img
    {
        width: auto;
    }
    .section-service-list .service + .service
    {
        margin-top: 60px;
    }
}
@media screen and (min-width: 768px)
{
    .section-service-list
    {
        padding: 100px 0;
    }
    .section-service-list .service
    {
        margin-top: 45px;
    }
    .section-service-list .service .service__label
    {
        margin-bottom: 50px;
    }
    .section-service-list .service .service__inner
    {
        display: flex;
        flex-direction: row-reverse;
    }
    .section-service-list .service .service__inner .service__img
    {
        width: 52.2222222%;
        margin: 0;
    }
    .section-service-list .service .service__inner .service__desc
    {
        font-size: 20px;
        line-height: 32px; 

        width: 47.7777778%;
    }
    .section-service-list .service:nth-of-type(even) .service__inner
    {
        flex-direction: row;
    }
    .section-service-list .service:first-child .service__inner .service__img
    {
        padding-top: 95px;
    }
    .section-service-list .service + .service
    {
        margin-top: 100px;
    }
}

/* include pages scss */
