html {
    height: 100%;
    min-height: 100vh;
}
.u-pointer-events-none {
    pointer-events: none;
}
.u-visually-hidden {
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    white-space: nowrap;
    clip-path: inset(50%);
}
.u-inline-block {
    display: inline-block;
}
.u-inline {
    display: inline;
}
.u-block {
    display: block;
}
.u-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.u-flex-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
}
.u-flex-center-y {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
}
.u-flex-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.u-flex-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.u-justify-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.u-justify-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.u-justify-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.u-items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.u-items-start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.u-items-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.u-flex-shrink-0 {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.u-flex-grow-1 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.u-self-center {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}
.u-object-left-top {
    -o-object-position: left top;
    object-position: left top;
}
.u-overflow-hidden {
    overflow: hidden;
}
.u-rounded-50 {
    border-radius: 50%;
}
.u-rounded {
    z-index: 0;
    position: relative;
    border-radius: 14px;
}
.u-rounded-small {
    z-index: 0;
    position: relative;
    border-radius: 6px;
}
.u-rounded-10 {
    z-index: 0;
    position: relative;
    border-radius: 10px;
}
.u-rounded-lg {
    z-index: 0;
    position: relative;
    border-radius: 14px;
}
.u-line-clamp-2 {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.u-line-clamp-3 {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.u-cf:after {
    display: block;
    clear: both;
    content: "";
}
.u-float-l {
    float: left;
}
.u-float-r {
    float: right;
}
.u-text-center {
    text-align: center;
}
.u-relative {
    position: relative;
}
.u-over-elm {
    z-index: 9;
    position: relative;
}
.u-zi-1 {
    z-index: 1;
}
.u-posi-full {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.u-posi-full-img {
    -o-object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.u-posi-center {
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translate(-50%);
}
.u-h-1 {
    height: 1px;
}
.u-w-full {
    width: 100%;
}
.u-w-fit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
.u-max-w-300 {
    max-width: 300px;
}
.u-mx-auto {
    margin-right: auto;
    margin-left: auto;
}
.u-ml-auto {
    margin-left: auto;
}
.u-iframe-wrap {
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
}
.u-iframe-wrap video,
.u-iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.u-iframe {
    position: relative;
    overflow: hidden;
}
.u-iframe video,
.u-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.u-transition-colors {
    -webkit-transition-duration: 0.8s;
    -o-transition-duration: 0.8s;
    -webkit-transition-property: background-color, border-color, color, fill, stroke;
    -o-transition-property: background-color, border-color, color, fill, stroke;
    -webkit-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    -o-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    transition-duration: 0.8s;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.u-transition-opacity {
    -webkit-transition-duration: 0.8s;
    -o-transition-duration: 0.8s;
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    -webkit-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    -o-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    transition-duration: 0.8s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.u-transition-transform {
    -webkit-transition-duration: 0.8s;
    -o-transition-duration: 0.8s;
    -webkit-transition-property: -webkit-transform;
    -o-transition-property: transform;
    -webkit-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    -o-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    transition-duration: 0.8s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.u-line-fit {
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
}
.u-line-fit:before,
.u-line-fit:after {
    display: block;
    content: "";
}
.u-text-white {
    color: #fff;
}
.u-text-black03 {
    color: #505557;
}
.u-text-gray01 {
    color: #000;
}
.u-text-gray02 {
    color: #f0f0f0;
}
.u-text-pink01 {
    color: #ed6976;
}
.u-text-blue01 {
    color: #7da7d9;
}
.u-text-orange01 {
    color: #fcb327;
}
.u-bg-white {
    background-color: #fff;
}
.u-bg-black02 {
    background-color: #414649;
}
.u-bg-gray01 {
    background-color: #000;
}
.u-bg-gray03 {
    background-color: #e2e7ea;
}
.u-bg-gray04 {
    background-color: #f6f7f9;
}
.u-bg-pink01 {
    background-color: #ed6976;
}
.u-bg-blue01 {
    background-color: #7da7d9;
}
.u-bg-orange01 {
    background-color: #fcb327;
}
.u-bg-blue02 {
    background-color: #6ec8e1;
}
.u-bg-green01 {
    background-color: #70c873;
}
.u-bg-purple01 {
    background-color: #cd82d9;
}
.u-bg-bd01 {
    background-color: #919598;
}
.u-bg-bd02 {
    background-color: #ced3d6;
}
.u-hv-op {
    -webkit-transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    -o-transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.u-fs-10 {
    font-size: 0.625rem;
}
.u-fs-11 {
    font-size: 0.6875rem;
}
.u-fs-12 {
    font-size: 0.75rem;
}
.u-fs-13 {
    font-size: 0.8125rem;
}
.u-fs-14 {
    font-size: 0.875rem;
}
.u-fs-15 {
    font-size: 0.9375rem;
}
.u-fs-16 {
    font-size: 1rem;
}
.u-fs-17 {
    font-size: 1.0625rem;
}
.u-fs-18 {
    font-size: 1.125rem;
}
.u-fs-20 {
    font-size: 1.25rem;
}
.u-fs-21 {
    font-size: 1.3125rem;
}
.u-fs-24 {
    font-size: 1.5rem;
}
.u-fs-26 {
    font-size: 1.625rem;
}
.u-fs-28 {
    font-size: 1.75rem;
}
.u-fs-30 {
    font-size: 1.875rem;
}
.u-fs-32 {
    font-size: 2rem;
}
.u-fs-36 {
    font-size: 2.25rem;
}
.u-fs-42 {
    font-size: 2.625rem;
}
.u-fs-44 {
    font-size: 2.75rem;
}
.u-fs-50 {
    font-size: 3.125rem;
}
.u-fs-52 {
    font-size: 3.25rem;
}
.u-fs-56 {
    font-size: 3.5rem;
}
.u-fs-64 {
    font-size: 4rem;
}
.u-ls-10 {
    letter-spacing: 0.01em;
}
.u-ls-20 {
    letter-spacing: 0.02em;
}
.u-ls-30 {
    letter-spacing: 0.03em;
}
.u-ls-40 {
    letter-spacing: 0.04em;
}
.u-ls-60 {
    letter-spacing: 0.06em;
}
.u-ls-70 {
    letter-spacing: 0.07em;
}
.u-lh-1 {
    line-height: 1;
}
.u-lh-12 {
    line-height: 1.2;
}
.u-lh-13 {
    line-height: 1.3;
}
.u-lh-14 {
    line-height: 1.4;
}
.u-lh-15 {
    line-height: 1.5;
}
.u-lh-16 {
    line-height: 1.6;
}
.u-lh-17 {
    line-height: 1.7;
}
.u-lh-18 {
    line-height: 1.8;
}
.u-lh-19 {
    line-height: 1.9;
}
.l-wrapper {
    position: relative;
    overflow: hidden;
}
.l-side-space {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-right: 9.6618357488vw;
    padding-left: 9.6618357488vw;
}
.l-side-space-wide {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-right: 4.8309178744vw;
    padding-left: 4.8309178744vw;
}
.l-section {
    margin-top: 100px;
}
.l-section--small {
    margin-top: 70px;
}
.l-section--medium {
    margin-top: 100px;
}
.l-section-lg {
    margin-top: 150px;
}
.l-section-lg02 {
    margin-top: 120px;
}
.l-section--archive {
    margin-top: 30px;
}

.js-link-text__sub {
    -webkit-transform: translateY(0.5555555556em);
    -ms-transform: translateY(0.5555555556em);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transform: translateY(0.5555555556em);
    opacity: 0;
    pointer-events: none;
}
.js-scroll-slider {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
}
.js-scroll-slider__item {
    -ms-flex-negative: 0;
    z-index: 1;
    position: relative;
    flex-shrink: 0;
    margin-right: 50px;
    overflow: hidden;
}
.js-scroll-slider__item img {
    width: auto;
    max-width: 400px;
    max-height: 352px;
    border-radius: 14px;
    pointer-events: none;
}
.js-text-scroll {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
}
.js-text-scroll__item {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
}
.js-text-scroll__img-box {
    position: relative;
    width: 70px;
    height: 45px;
}
.js-text-scroll__img {
    position: relative;
    width: 17px;
    height: 22px;
    border-radius: 2px;
}
.js-text-scroll__text-img {
    width: auto;
    height: 50px;
}
.js-cursor-pointer {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-transform: translate3d(50%, 50%, 0);
    -webkit-transition-duration: 0.4s;
    -o-transition-duration: 0.4s;
    -webkit-transition-property: visibility, opacity;
    -o-transition-property: visibility, opacity;
    -webkit-transition-timing-function: cubic-bezier(0.47, 0.16, 0.24, 1);
    -o-transition-timing-function: cubic-bezier(0.47, 0.16, 0.24, 1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    visibility: hidden;
    z-index: 10;
    position: fixed;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 80px;
    margin: -55px 0 0 -70px;
    transform: translate3d(50%, 50%, 0);
    border-radius: 99em;
    background-color: #414649;
    color: #fff;
    opacity: 0;
    pointer-events: none;
    transition-duration: 0.4s;
    transition-property: visibility, opacity;
    transition-timing-function: cubic-bezier(0.47, 0.16, 0.24, 1);
}
.js-cursor-pointer.is-active {
    -webkit-transition-property: visibility, opacity;
    -o-transition-property: visibility, opacity;
    visibility: visible;
    opacity: 1;
    transition-property: visibility, opacity;
}
.js-fixed-area {
    position: relative;
}
.js-vertical-scroll-area {
    position: relative;
    overflow: hidden;
}
.js-vertical-scroll-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 46.9314079422%;
}
.js-vertical-scroll-slider + .js-vertical-scroll-slider {
    right: 0;
    left: auto;
}
.js-vertical-scroll-slider__item {
    margin-bottom: 34px;
}
.js-vertical-scroll-slider__img {
    padding-top: 130.7692307692%;
}
.js-slide-up {
    opacity: 0;
}
.js-slide-up.is-setup {
    opacity: 1;
}
.js-slide-up__item {
    -webkit-clip-path: inset(0 0 -0.2em);
    display: block;
    clip-path: inset(0 0 -0.2em);
}
.js-slide-up__text {
    -webkit-transform: translateY(calc(100% + 0.2em));
    -ms-transform: translateY(calc(100% + 0.2em));
    display: inline-block;
    transform: translateY(calc(100% + 0.2em));
}
.js-slide-up-all__item {
    -webkit-clip-path: inset(0 0 -0.2em);
    display: block;
    clip-path: inset(0 0 -0.2em);
    opacity: 0;
}
.js-slide-up-all__item.is-setup {
    opacity: 1;
}
.js-slide-up-all__text {
    -webkit-transform: translateY(42%);
    -ms-transform: translateY(42%);
    display: inline-block;
    transform: translateY(42%);
    opacity: 0;
}
.js-slide-up-all__item--work-life .js-slide-up-all__text:nth-child(3) {
    margin-right: -0.05em;
}
.js-slide-up-auto {
    position: relative;
    opacity: 0;
}
.js-slide-up-auto.is-setup {
    opacity: 1;
}
.js-slide-up-auto__base {
    opacity: 0;
}
.js-slide-up-auto__line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
}
.js-slide-up-all__line-text {
    display: block;
}
.js-anime-item {
    -webkit-animation-fill-mode: both;
    -webkit-animation-duration: 1.2s;
    -webkit-animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-duration: 1.2s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-fill-mode: both;
    opacity: 0;
}
.is-anime {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}
.is-anime.is-meter {
    -webkit-animation-name: meter;
    -webkit-animation-duration: 1.9s;
    animation-duration: 1.9s;
    animation-name: meter;
}
.is-anime.is-slider-show {
    -webkit-animation-name: sliderShow;
    -webkit-animation-duration: 2.16s;
    animation-duration: 2.16s;
    animation-name: sliderShow;
}
.is-anime.is-slide-up-left {
    -webkit-animation-name: slideUpLeft;
    animation-name: slideUpLeft;
}
.is-anime.is-slide-up-right {
    -webkit-animation-name: slideUpRight;
    animation-name: slideUpRight;
}
@-webkit-keyframes fadeInUp {
    0% {
        -webkit-transform: translate3d(0, 40px, 0);
        transform: translate3d(0, 40px, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@keyframes fadeInUp {
    0% {
        -webkit-transform: translate3d(0, 40px, 0);
        transform: translate3d(0, 40px, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@-webkit-keyframes fadeInDown {
    0% {
        -webkit-transform: translate3d(0, -40px, 0);
        transform: translate3d(0, -40px, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@keyframes fadeInDown {
    0% {
        -webkit-transform: translate3d(0, -40px, 0);
        transform: translate3d(0, -40px, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@-webkit-keyframes fadeInLeft {
    0% {
        -webkit-transform: translate3d(40px, 0, 0);
        transform: translate3d(40px, 0, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@keyframes fadeInLeft {
    0% {
        -webkit-transform: translate3d(40px, 0, 0);
        transform: translate3d(40px, 0, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@-webkit-keyframes fadeInRight {
    0% {
        -webkit-transform: translate3d(-40px, 0, 0);
        transform: translate3d(-40px, 0, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@keyframes fadeInRight {
    0% {
        -webkit-transform: translate3d(-40px, 0, 0);
        transform: translate3d(-40px, 0, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@-webkit-keyframes meter {
    0% {
        width: 0%;
        opacity: 1;
    }
    to {
        width: 100%;
        opacity: 1;
    }
}
@keyframes meter {
    0% {
        width: 0%;
        opacity: 1;
    }
    to {
        width: 100%;
        opacity: 1;
    }
}
@-webkit-keyframes sliderShow {
    0% {
        -webkit-transform: translate3d(30vw, 20vw, 0);
        transform: translate3d(30vw, 20vw, 0);
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@keyframes sliderShow {
    0% {
        -webkit-transform: translate3d(30vw, 20vw, 0);
        transform: translate3d(30vw, 20vw, 0);
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translateZ(0);
        opacity: 1;
    }
}
@-webkit-keyframes slideUpLeft {
    0% {
        -webkit-transform: translate3d(0, 100px, 0) rotate(3deg);
        transform: translate3d(0, 100px, 0) rotate(3deg);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0) rotate(3deg);
        transform: translateZ(0) rotate(3deg);
        opacity: 1;
    }
}
@keyframes slideUpLeft {
    0% {
        -webkit-transform: translate3d(0, 100px, 0) rotate(3deg);
        transform: translate3d(0, 100px, 0) rotate(3deg);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0) rotate(3deg);
        transform: translateZ(0) rotate(3deg);
        opacity: 1;
    }
}
@-webkit-keyframes slideUpRight {
    0% {
        -webkit-transform: translate3d(0, 50px, 0) rotate(-3deg);
        transform: translate3d(0, 50px, 0) rotate(-3deg);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0) rotate(-3deg);
        transform: translateZ(0) rotate(-3deg);
        opacity: 1;
    }
}
@keyframes slideUpRight {
    0% {
        -webkit-transform: translate3d(0, 50px, 0) rotate(-3deg);
        transform: translate3d(0, 50px, 0) rotate(-3deg);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0) rotate(-3deg);
        transform: translateZ(0) rotate(-3deg);
        opacity: 1;
    }
}
.u-delay4 {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
}
.js-anime-item__circle-lg,
.js-anime-item__circle-sm {
    -webkit-animation-duration: 3.7s;
    -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-duration: 3.7s;
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.js-anime-item__circle-lg {
    stroke-dasharray: 2564.0510253906;
    stroke-dashoffset: -2564.0510253906;
    opacity: 1;
}
.js-anime-item__circle-lg.is-anime {
    -webkit-animation-name: pathCircleLg;
    animation-name: pathCircleLg;
}
@-webkit-keyframes pathCircleLg {
    0% {
        stroke-dashoffset: -2564.0510253906;
    }
    to {
        stroke-dashoffset: -5128.1020507813;
    }
}
@keyframes pathCircleLg {
    0% {
        stroke-dashoffset: -2564.0510253906;
    }
    to {
        stroke-dashoffset: -5128.1020507813;
    }
}
.js-anime-item__circle-sm {
    stroke-dasharray: 1544.4030761719;
    stroke-dashoffset: -1544.4030761719;
    opacity: 1;
}
.js-anime-item__circle-sm.is-anime {
    -webkit-animation-name: pathCircleSm;
    animation-name: pathCircleSm;
}
@-webkit-keyframes pathCircleSm {
    0% {
        stroke-dashoffset: -1544.4030761719;
    }
    to {
        stroke-dashoffset: -3088.8061523438;
    }
}
@keyframes pathCircleSm {
    0% {
        stroke-dashoffset: -1544.4030761719;
    }
    to {
        stroke-dashoffset: -3088.8061523438;
    }
}
.js-fadein .l-wrapper {
    -webkit-animation: anime-loader-fadein 1s 0.5s 1 normal both;
    animation: anime-loader-fadein 1s 0.5s 1 normal both;
}
.js-fadeout .l-wrapper {
    -webkit-animation: anime-loader-fadeout 0.7s 0s 1 normal both;
    animation: anime-loader-fadeout 0.7s 0s 1 normal both;
}
@-webkit-keyframes anime-loader-fadein {
    0% {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes anime-loader-fadein {
    0% {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@-webkit-keyframes anime-loader-fadeout {
    0% {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes anime-loader-fadeout {
    0% {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
body,
.js-bg-color {
    -webkit-transition: background-color 1.8s cubic-bezier(0.325, 0, 0.1, 1);
    -o-transition: background-color 1.8s cubic-bezier(0.325, 0, 0.1, 1);
    transition: background-color 1.8s cubic-bezier(0.325, 0, 0.1, 1);
}
.js-bg-color.is-changing {
    will-change: "background-color";
}
.js-bg-color.is-changing .c-button,
.js-bg-color.is-changing .c-button__icon:before,
.js-bg-color.is-changing .c-button__icon:after {
    -webkit-transition: inherit;
    -o-transition: inherit;
    transition: inherit;
}
.js-bg-color.is-changing .c-button,
.js-bg-color.is-changing .p-career-job__item-label {
    -webkit-transition-duration: 1.8s;
    -o-transition-duration: 1.8s;
    -webkit-transition-timing-function: cubic-bezier(0.325, 0, 0.1, 1);
    -o-transition-timing-function: cubic-bezier(0.325, 0, 0.1, 1);
    -webkit-transition-property: border-color;
    -o-transition-property: border-color;
    transition-duration: 1.8s;
    transition-property: border-color;
    transition-timing-function: cubic-bezier(0.325, 0, 0.1, 1);
}
.js-bg-color.is-changing .c-button__icon:before,
.js-bg-color.is-changing .c-button__icon:after {
    -webkit-transition-duration: 1.8s;
    -o-transition-duration: 1.8s;
    -webkit-transition-timing-function: cubic-bezier(0.325, 0, 0.1, 1);
    -o-transition-timing-function: cubic-bezier(0.325, 0, 0.1, 1);
    -webkit-transition-property: background-image;
    -o-transition-property: background-image;
    transition-duration: 1.8s;
    transition-property: background-image;
    transition-timing-function: cubic-bezier(0.325, 0, 0.1, 1);
}
.js-bg-color.is-dark > * {
    color: #fff;
}
.js-bg-color.is-dark .c-button {
    border-color: #fff;
    color: inherit;
}
.js-bg-color.is-dark .c-button__icon:before,
.js-bg-color.is-dark .c-button__icon:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA5LjkgMTAiIHZpZXdCb3g9IjAgMCA5LjkgMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggY2xpcC1ydWxlPSJldmVub2RkIiBkPSJtNy45IDkuMmMtLjMtNi4zIDItOS4yIDItOS4yLTIuNCAyLjQtOC40IDIuMS05LjEgMi4xaC0uMS4xYy40IDAgMy4yLjIgNC44IDEuMmwtNS42IDYuNyA2LjYtNS42YzEuMSAxLjcgMS4zIDQuOCAxLjMgNC44eiIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+);
}
.js-bg-color.is-dark a[target="_blank"] .c-button__icon:before,
.js-bg-color.is-dark a[target="_blank"] .c-button__icon:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA3LjMgOS4xIiB2aWV3Qm94PSIwIDAgNy4zIDkuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTUuOCA2LjRjLS4yLTQuNCAxLjUtNi40IDEuNS02LjQtMS43IDEuNi01LjkgMS40LTYuNCAxLjRzMCAwIDAgMGMuMyAwIDIuMi4yIDMuMy45bC0zLjkgNC42IDQuNy0zLjljLjcgMS4yLjggMy40LjggMy40eiIvPjxwYXRoIGQ9Im03IDkuMWgtN3YtLjZoN3oiLz48L2c+PC9zdmc+);
}
.js-bg-color.is-dark .p-career-job__item-status {
    border-color: #919598;
}
.js-bg-color.is-dark .p-career-job__item-icon g {
    stroke: #fff;
}
.js-bg-color.is-dark .c-fixed-nav__item.is-active > .c-fixed-nav__link {
    opacity: 1;
}
.js-bg-color.is-dark .c-fixed-nav__link {
    opacity: 0.5;
}
.js-bg-color > * {
    -webkit-transition-delay: 0;
    -o-transition-delay: 0;
    -webkit-transition-duration: 1.8s;
    -o-transition-duration: 1.8s;
    -webkit-transition-timing-function: cubic-bezier(0.325, 0, 0.1, 1);
    -o-transition-timing-function: cubic-bezier(0.325, 0, 0.1, 1);
    -webkit-transition-property: color, border-color, background;
    -o-transition-property: color, border-color, background;
    color: #212121;
    transition-delay: 0;
    transition-duration: 1.8s;
    transition-property: color, border-color, background;
    transition-timing-function: cubic-bezier(0.325, 0, 0.1, 1);
}
.splide__circle {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    position: relative;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}
.splide__circle circle {
    stroke-width: 1px;
    stroke: #212121;
    fill: none;
    stroke-dasharray: 200.7371673584;
    stroke-dashoffset: -200.7371673584;
    will-change: stroke-dashoffset;
}
.splide__circle.is-auto-loading circle {
    -webkit-animation: sliderLoadCircle 5s both;
    animation: sliderLoadCircle 5s both;
}
.splide__circle.is-auto-slide circle {
    -webkit-animation: sliderLoadCircleEnd 0.6s both;
    animation: sliderLoadCircleEnd 0.6s both;
}
.splide__arrow--prev .splide__arrow-icon {
    opacity: 0.2;
}
.splide__arrow-icon {
    margin-top: -1px;
}
.splide__circle--bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.splide__circle--bg circle {
    stroke: #21212133;
    stroke-dashoffset: 0;
    -webkit-transition-duration: 0.8s;
    -o-transition-duration: 0.8s;
    -webkit-transition-property: stroke;
    -o-transition-property: stroke;
    -webkit-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    -o-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    transition-duration: 0.8s;
    transition-property: stroke;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
@-webkit-keyframes sliderLoadCircle {
    0% {
        stroke-dashoffset: -200.7371673584;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
    }
    to {
        stroke-dashoffset: -401.4743347168;
    }
}
@keyframes sliderLoadCircle {
    0% {
        stroke-dashoffset: -200.7371673584;
        -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
    }
    to {
        stroke-dashoffset: -401.4743347168;
    }
}
@-webkit-keyframes sliderLoadCircleEnd {
    0% {
        stroke-dashoffset: -401.4743347168;
        -webkit-animation-timing-function: cubic-bezier(0.19, 0.82, 0.27, 1);
        animation-timing-function: cubic-bezier(0.19, 0.82, 0.27, 1);
    }
    to {
        stroke-dashoffset: -602.2115020752;
    }
}
@keyframes sliderLoadCircleEnd {
    0% {
        stroke-dashoffset: -401.4743347168;
        -webkit-animation-timing-function: cubic-bezier(0.19, 0.82, 0.27, 1);
        animation-timing-function: cubic-bezier(0.19, 0.82, 0.27, 1);
    }
    to {
        stroke-dashoffset: -602.2115020752;
    }
}
.splide__container {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}
.splide__arrows {
    width: 140px;
}
.splide__list {
    -webkit-backface-visibility: hidden;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    backface-visibility: hidden;
}
.splide.is-initialized:not(.is-active) .splide__list {
    display: block;
}
.splide {
    position: relative;
}
.splide__slide {
    -webkit-backface-visibility: hidden;
    -webkit-box-sizing: border-box;
    -ms-flex-negative: 0;
    box-sizing: border-box;
    position: relative;
    flex-shrink: 0;
    backface-visibility: hidden;
    list-style-type: none !important;
}
.splide__slide img {
    vertical-align: bottom;
}
.splide__sr {
    clip: rect(0 0 0 0);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
}
.splide__track {
    z-index: 0;
    position: relative;
}
@-webkit-keyframes splide-loading {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
    }
}
@keyframes splide-loading {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
    }
}
.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.splide__arrow {
    -ms-flex-align: center;
    -webkit-box-align: center;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    z-index: 1;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    padding: 0;
    border-radius: 50%;
    cursor: pointer;
}
.splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px;
}
.splide__slide {
    -webkit-tap-highlight-color: transparent;
}
.splide__slide:focus {
    outline: 0;
}
@supports (outline-offset: -3px) {
    .splide__slide:focus-visible {
        outline: 3px solid #0bf;
        outline-offset: -3px;
    }
}
.p-home-main {
    padding-top: 76px;
}
.p-home-main__logo {
    margin-bottom: 30.4347826087vw;
}
.p-home-main__title {
    font-size: 14.9758454106vw;
    line-height: 13.4782608696vw;
}
.p-home-main__box {
    margin-top: auto;
    padding-bottom: 10.6280193237vw;
}
.p-home-main__text {
    margin-top: 1.6em;
    font-size: 0.9375rem;
    font-size: calc(15px + ((1vw - 4.14px) * 3.1914893617));
}
.p-home-banner {
    -webkit-box-shadow: 1px 3px 10px rgba(0, 0, 0, 0.15);
    -webkit-animation-fill-mode: both;
    -webkit-animation-duration: 0.8s;
    -webkit-animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 10;
    position: fixed;
    right: 4.8309178744vw;
    bottom: 2.8985507246vw;
    width: 90.3381642512vw;
    max-width: 412px;
    border-radius: 6px;
    box-shadow: 1px 3px 10px #00000026;
    animation-duration: 0.8s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-fill-mode: both;
}
.p-home-banner.is-hidden {
    -webkit-animation-name: bannerFadeOut;
    animation-name: bannerFadeOut;
}
.p-home-banner.is-show {
    -webkit-animation-name: bannerFadeInUp;
    animation-name: bannerFadeInUp;
}
@-webkit-keyframes bannerFadeOut {
    0% {
        opacity: 1;
    }
    to {
        visibility: hidden;
        opacity: 0;
    }
}
@keyframes bannerFadeOut {
    0% {
        opacity: 1;
    }
    to {
        visibility: hidden;
        opacity: 0;
    }
}
@-webkit-keyframes bannerFadeInUp {
    0% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        visibility: visible;
        transform: translateZ(0);
        opacity: 1;
    }
}
@keyframes bannerFadeInUp {
    0% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
        opacity: 0;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        visibility: visible;
        transform: translateZ(0);
        opacity: 1;
    }
}
.p-home-banner__inner {
    min-height: 60px;
    border-radius: 6px;
}
.p-home-banner__title {
    width: 100%;
    margin: 0 6.1497326203%;
    color: #212121;
}
.p-home-banner__img {
    width: 60px;
    height: 60px;
}
.p-home-banner__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 25px;
    height: 25px;
}
.p-home-video__img {
    z-index: 1;
    padding-top: 120.2898550725%;
}
.p-home-lead {
    max-width: 818px;
}
.p-home-lead__title-sub {
    margin: -0.1em 0 1.3em;
}
.p-home-lead__title__main {
    margin-bottom: 0.7em;
}
.p-home-lead__text {
    margin-bottom: 1.8em;
}
.p-home-works__title {
    margin-bottom: 37px;
}
.p-home-works__link {
    margin-top: 61px;
}
.p-home-design {
    padding-top: 149px;
    padding-bottom: 150px;
}
.p-home-design .c-title__sub {
    margin-bottom: 3em;
}
.p-home-design__line {
    margin-bottom: 10px;
}
.p-home-design__head {
    margin-bottom: 66px;
}
.p-home-design__head-left {
    margin-bottom: 42px;
}
.js-home-design-area {
    position: relative;
}
.p-home-design__item + .p-home-design__item {
    margin-top: 91px;
}
.p-home-design__item:nth-child(odd) .p-home-design__img:nth-child(odd) {
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
}
.p-home-design__item:nth-child(odd) .p-home-design__img:nth-child(even) {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg);
}
.p-home-design__item:nth-child(even) .p-home-design__img:nth-child(odd) {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg);
}
.p-home-design__item:nth-child(even) .p-home-design__img:nth-child(even) {
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
}
.p-home-design__img-box {
    position: relative;
    width: 88.0239520958%;
    margin: 0 auto 53px;
}
.p-home-design__img {
    z-index: 3;
    position: relative;
    padding-top: 133.3333333333%;
}
.p-home-design__img + .p-home-design__img {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.p-home-design__label {
    margin-bottom: 16px;
    padding: 0.2em 0.83em 0.255em;
    border-radius: 99em;
    color: black;
}
.p-home-design__title-sub {
    margin-bottom: 0.21em;
}
.p-home-design__text {
    margin-top: 2.1em;
}
.p-home-design__link {
    margin-top: 35px;
}
.p-home-design__show {
    -webkit-clip-path: inset(0 0 0);
    display: block;
    clip-path: inset(0 0 0);
}
.p-home-design__show-item {
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
}
.p-home-design__show-item.p-home-design__link {
    -webkit-transform: translateY(calc(100% + 0.1em));
    -ms-transform: translateY(calc(100% + 0.1em));
    transform: translateY(calc(100% + 0.1em));
}
.p-home-member__link {
    margin-top: 56px;
}
.p-home-stories__title {
    margin-bottom: 36px;
}
.p-home-stories__link {
    margin-top: 60px;
}
@media only screen and (min-width: 414px) {
    .p-home-main__text {
        font-size: 0.9375rem;
    }
}
@media only screen and (min-width: 640px) {
    .u-hidden-sm {
        display: none !important;
    }
    .l-side-space-sm {
        padding-right: 9.6618357488vw;
        padding-left: 9.6618357488vw;
    }
}
@media only screen and (min-width: 768px) {
    body {
        font-size: 1rem;
    }
    .u-hidden-md {
        display: none !important;
    }
    .u-flex-md {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .u-flex-center-md {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .u-flex-wrap-md {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .u-flex-col-md {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .u-flex-row-reverse-md {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .u-justify-end-md {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .u-justify-between-md {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .u-justify-start-md {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .u-items-start-md {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .u-items-center-md {
        align-items: center;
    }
    .u-items-end-md {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
    .u-rounded-md {
        border-radius: 14px;
    }
    .u-rounded-10-md {
        border-radius: 10px;
    }
    .u-rounded-lg,
    .u-rounded-lg-md {
        border-radius: 20px;
    }
    .u-float-r-md {
        float: right;
    }
    .u-text-left-md {
        text-align: left;
    }
    .u-text-right-md {
        text-align: right;
    }
    .u-ml-auto-md {
        margin-left: auto;
    }
    .u-fs-11-md {
        font-size: 0.6875rem;
    }
    .u-fs-12-md {
        font-size: 0.75rem;
    }
    .u-fs-13-md {
        font-size: 0.8125rem;
    }
    .u-fs-14-md {
        font-size: 0.875rem;
    }
    .u-fs-15-md {
        font-size: 0.9375rem;
    }
    .u-fs-16-md {
        font-size: 1rem;
    }
    .u-fs-18-md {
        font-size: 1.125rem;
    }
    .u-fs-20-md {
        font-size: 1.25rem;
    }
    .u-fs-22-md {
        font-size: 1.375rem;
    }
    .u-fs-26-md {
        font-size: 1.625rem;
    }
    .u-fs-28-md {
        font-size: 1.75rem;
    }
    .u-fs-32-md {
        font-size: 2rem;
    }
    .u-fs-34-md {
        font-size: 2.125rem;
    }
    .u-fs-38-md {
        font-size: 2.375rem;
    }
    .u-fs-40-md {
        font-size: 2.5rem;
    }
    .u-fs-42-md {
        font-size: 2.625rem;
    }
    .u-fs-44-md {
        font-size: 2.75rem;
    }
    .u-fs-46-md {
        font-size: 2.875rem;
    }
    .u-fs-48-md {
        font-size: 3rem;
    }
    .u-fs-64-md {
        font-size: 4rem;
    }
    .u-fs-68-md {
        font-size: 4.25rem;
    }
    .u-fs-70-md {
        font-size: 4.375rem;
    }
    .u-fs-74-md {
        font-size: 4.625rem;
    }
    .u-fs-78-md {
        font-size: 4.875rem;
    }
    .u-fs-88-md {
        font-size: 5.5rem;
    }
    .u-fs-100-md {
        font-size: 6.25rem;
    }
    .u-lh-13-md {
        line-height: 1.3;
    }
    .u-lh-14-md {
        line-height: 1.4;
    }
    .u-lh-15-md {
        line-height: 1.5;
    }
    .u-lh-16-md {
        line-height: 1.6;
    }
    .u-lh-17-md {
        line-height: 1.7;
    }
    .u-lh-19-md {
        line-height: 1.9;
    }
    .l-side-space-md {
        padding-right: 7.3529411765vw;
        padding-left: 7.3529411765vw;
    }
    .l-side-space-60-md,
    .l-side-space-wide-md {
        padding-right: 4.4117647059vw;
        padding-left: 4.4117647059vw;
    }
    .l-side-space-fixed-md {
        padding-right: 7.3529411765vw;
        padding-left: 22.0588235294vw;
    }
    .l-side-space-fixed-left-md {
        padding-left: 22.0588235294vw;
    }
    .l-side-space-fixed-right-md {
        padding-right: 7.3529411765vw;
    }
    .l-section {
        margin-top: 170px;
    }
    .l-section--small {
        margin-top: 120px;
    }
    .l-section--medium {
        margin-top: 140px;
    }
    .l-section-lg,
    .l-section-lg02 {
        margin-top: 250px;
    }
    .l-section--first {
        margin-top: 110px;
        padding-top: 60px;
    }
    .l-section--archive {
        margin-top: 28px;
    }
    .l-fixed-area {
        position: relative;
    }
    .c-header__fixed-btn {
        z-index: 101;
        position: absolute;
        top: 30px;
        right: 60px;
    }
    .c-header--home {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: flex-end;
        width: auto;
    }
    .c-header--home.is-hidden,
    .c-header--home.is-show {
        -webkit-transition-duration: 0.8s;
        -o-transition-duration: 0.8s;
        transition-duration: 0.8s;
    }
    .c-header--home .c-header__inner {
        padding: 40px 4.4117647059vw 0 0;
    }
    .c-header--home .c-header__logo {
        margin-bottom: 28px;
    }
    .c-header__logo {
        width: 110px;
    }
    .c-header--page {
        width: 100%;
    }
    .c-header--page.is-hidden,
    .c-header--page.is-show {
        -webkit-transition-duration: 0.8s;
        -o-transition-duration: 0.8s;
        transition-duration: 0.8s;
    }
    .c-header--page .c-header__inner {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: space-between;
        padding: 29px 4.4117647059vw 0;
    }
    .c-header--page .c-header__logo {
        width: 120px;
        margin-top: 9px;
    }
    .c-header--page .c-header__right {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .c-header--page .c-nav__list {
        -ms-flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        min-height: 52px;
        padding-right: 196px;
    }
    .c-header--page .c-nav__item {
        margin-left: 0.95em;
    }
    .c-header--page .c-nav__item.is-active .c-nav__link {
        opacity: 0.6;
    }
    .c-nav {
        position: static;
        overflow-y: visible;
    }
    .c-footer {
        margin-top: 150px;
        padding-bottom: 60px;
    }
    .c-footer__list {
        min-width: 114px;
        margin: 0 0 -0.2em;
    }
    .c-footer__list + .c-footer__list {
        margin-top: 4.11em;
    }
    .c-footer__link .c-button__icon {
        top: 0;
        margin: 0 1px 0 7px;
    }
    .c-footer__video-box {
        margin-top: 0;
    }
    .c-footer__video {
        width: 77.4425287356%;
        margin: 0 4.5977011494% 0 0;
    }
    .c-footer__left {
        width: 51.1764705882vw;
    }
    .c-footer__video-catch {
        width: 17.9597701149%;
        min-width: 100px;
        margin: 0 0 2px;
    }
    .c-footer__bottom {
        margin-top: 41px;
    }
    .c-footer__logo {
        width: 110px;
    }
    .c-footer__copyright {
        -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
        margin: 0 0 0.1em 2em;
        transform: scale(0.9);
    }
    .c-title__sub {
        margin-bottom: 1.85em;
    }
    .c-button {
        padding: 19px 62px;
    }
    .c-button--small {
        padding: 12px 30px 13px;
    }
    .c-button--small .c-button__icon {
        width: 10px;
        height: 10px;
        margin-left: 10px;
    }
    .c-button--post {
        padding: 19px 52px 19px 50px;
    }
    .c-button--post .c-button__icon {
        margin-left: 12px;
    }
    .c-button--post[target="_blank"] .c-button__icon {
        margin-left: 8px;
    }
    .c-button--back {
        padding: 19px 60px 19px 62px;
    }
    .c-button__more {
        margin-top: 170px;
    }
    .c-button--more {
        padding: 19px 58px 19px 59px;
    }
    .c-button--black {
        padding: 15px 25px;
        background-color: #212121;
        color: #fff;
    }
    .c-button__icon {
        top: 0;
        margin-left: 13px;
    }
    .is-blank .c-button__icon,
    a[target="_blank"] .c-button__icon,
    a[href$="pdf"] .c-button__icon {
        top: 1px;
    }
    .c-button__icon--close {
        top: 0;
        margin-left: 0;
    }
    .c-label--sm {
        min-width: 30px;
    }
    .c-works-list {
        margin-bottom: -74px;
    }
    .c-works-list--archive {
        margin-bottom: -120px;
    }
    .c-works-list--archive .c-works-list__item {
        padding-bottom: 120px;
    }
    .c-works-list--archive .c-works-list__item:nth-child(2) {
        margin-top: 170px;
    }
    .c-works-list__item {
        width: 46.5517241379%;
        margin-bottom: 0;
        padding-bottom: 74px;
        float: left;
        clear: left;
    }
    .c-works-list__item:nth-child(2) {
        margin-top: 90px;
    }
    .c-works-list__item:nth-child(even) {
        float: right;
        clear: right;
    }
    .c-works-list__title {
        margin-top: 1.1071428571em;
        padding: 0 1.8518518519%;
    }
    .c-works-list__bottom {
        margin-top: 0.8214285714em;
        padding: 0 1.8518518519%;
    }
    .c-works-list__bottom .c-label {
        margin-right: 21px;
    }
    .c-works-list__tag-list {
        margin-bottom: -0.5em;
    }
    .c-works-list__tag-list-item {
        margin-bottom: 0.4em;
    }
    .c-text-scroll-area + .c-work-with {
        margin-top: 130px;
    }
    .c-text-scroll-area__item {
        height: 137px;
    }
    .c-text-scroll-area__item:before,
    .c-text-scroll-area__item:after {
        right: 4.4117647059vw;
        left: 4.4117647059vw;
    }
    .c-work-with {
        position: relative;
        width: 91.1764705882%;
        padding-right: 44.8529411765%;
    }
    .c-work-with__inner {
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        margin: 0 auto;
        padding: 140px 10.3448275862% 141px;
    }
    .c-work-with__inner .c-title__sub {
        margin-bottom: 2.3em;
    }
    .c-work-with__title {
        margin-bottom: 34px;
    }
    .c-work-with__link {
        margin-top: 46px;
    }
    .c-work-with__img-area {
        position: absolute;
        top: 0;
        right: 4.5161290323%;
        bottom: 0;
        width: 44.6774193548%;
    }
    .c-members-slider__head {
        margin-bottom: 56px;
    }
    .c-members-slider__head .splide__arrows {
        margin: 0 9px 6px 0;
    }
    .c-members-slider__main {
        padding-left: 0;
        overflow: hidden;
    }
    .c-members-slider__item {
        width: 350px;
        margin: 0 3.6764705882vw 0 0;
    }
    .c-members-slider__item-title {
        margin: 0.9em 0;
    }
    .c-members-slider__body {
        padding: 0 2.8571428571%;
    }
    .c-members-slider__info {
        margin-top: 0.74em;
    }
    .c-members-slider__item-title-sub {
        font-size: 1.125rem;
    }
    .c-members-slider__main--small .c-members-slider__item {
        width: 250px;
    }
    .c-members-slider__main--small .c-members-slider__item-title {
        margin: 1.1em 0;
        font-size: 1.375rem;
    }
    .c-members-slider__main--small .c-members-slider__body {
        padding: 0;
    }
    .c-stories-list--bd.c-stories-list--lg .c-stories-list-item:first-child {
        padding-top: 59px;
    }
    .c-stories-list--lg .c-stories-list-item:first-child {
        margin-bottom: 59px;
        padding-top: 59px;
    }
    .c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-line {
        margin-bottom: 59px;
    }
    .c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-img-box {
        width: 44.9438202247%;
        margin-bottom: 0;
    }
    .c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-img {
        border-radius: 10px;
    }
    .c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-text {
        width: 48.3146067416%;
    }
    .c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-title {
        margin: auto 0 -0.26em;
        font-size: calc(20px + (1vw - 7.68px) / 0.32);
    }
    .c-stories-list--archive.c-stories-list--lg .c-stories-list-item:first-child {
        margin-bottom: 70px;
    }
    .c-stories-list--archive.c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-line {
        margin-bottom: 69px;
    }
    .c-stories-list--archive.c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-img-box {
        width: 53.4482758621%;
        margin-bottom: 0;
    }
    .c-stories-list--archive.c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-img {
        border-radius: 10px;
    }
    .c-stories-list--archive.c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-text {
        width: 40.5172413793%;
    }
    .c-stories-list--archive.c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-title {
        margin: auto 0 0.02em;
        font-size: calc(22px + (1vw - 7.68px) / 0.256);
    }
    .c-stories-list--archive.c-stories-list--bd.c-stories-list--lg .c-stories-list-item:first-child {
        padding-top: 70px;
    }
    .c-stories-list--archive.c-stories-list--bd .c-stories-list-item {
        padding-top: 50px;
    }
    .c-stories-list--archive .c-stories-list-item {
        margin-bottom: 50px;
    }
    .c-stories-list--archive .c-stories-list-img-box {
        width: 23.275862069%;
    }
    .c-stories-list--archive .c-stories-list-text {
        width: 70%;
    }
    .c-stories-list--archive .c-stories-list-head {
        margin-left: 1px;
    }
    .c-stories-list--archive .c-stories-list-title {
        font-size: calc(22px + (1vw - 7.68px) / 0.64);
    }
    .c-stories-list-item {
        margin-bottom: 29px;
    }
    .c-stories-list-img-box {
        width: 22.4719101124%;
    }
    .c-stories-list-text {
        width: 69.6629213483%;
    }
    .c-stories-list-head {
        margin: 1px 0 12px -2px;
    }
    .c-stories-list-date {
        margin: 1px 0 0 6px;
    }
    .c-stories-list-title {
        margin: auto 0 0.15em;
    }
    .js-scroll-slider__item {
        margin-right: 80px;
    }
    .js-scroll-slider__item img {
        max-width: 500px;
        max-height: 440px;
    }
    .js-text-scroll__item {
        margin-right: 37px;
    }
    .js-text-scroll__img-box {
        width: 96px;
        height: 62px;
    }
    .js-text-scroll__img {
        width: 24px;
        height: 32px;
    }
    .js-text-scroll__text-img {
        height: 74px;
    }
    .js-fixed-elm-md {
        position: absolute;
        top: 0;
    }
    .js-fixed-elm-md.is-fixed {
        position: fixed;
        top: 0;
    }
    .js-bg-color.is-dark .c-fixed-nav__list {
        color: inherit;
        mix-blend-mode: overlay;
    }
    .js-bg-color.is-dark .c-fixed-nav__link:hover,
    .js-bg-color.is-dark .c-fixed-nav__link:active,
    .js-bg-color.is-dark .c-fixed-nav__link:focus {
        opacity: 1;
    }
    .js-bg-color.is-dark .c-fixed-nav__item-sub .c-fixed-nav__link:before {
        background-color: #fff;
    }
    .p-home-main {
        min-height: 100vh;
        min-height: 100dvh;
        padding-top: 40px;
        padding-bottom: 140px;
    }
    .p-home-main__logo {
        width: 45.5882352941%;
        margin-bottom: 0;
    }
    .p-home-main__title {
        margin-top: 0.19em;
        font-size: 8.3823529412vw;
        line-height: 90%;
    }
    .p-home-main__box {
        padding-bottom: 47px;
    }
    .p-home-main__text {
        margin: 0 0 -0.36em;
        font-size: calc(18px + ((1vw - 12px) * 1.6203703704));
    }
    .p-home-banner {
        right: 20px;
        bottom: 20px;
        width: 412px;
        border-radius: 8px;
    }
    .p-home-banner__inner {
        min-height: 70px;
        border-radius: 8px;
    }
    .p-home-banner__title {
        margin: 0 7.2815533981% 0 4.854368932%;
    }
    .p-home-banner__img {
        width: 70px;
        height: 70px;
    }
    .p-home-banner__close {
        width: 28px;
        height: 28px;
    }
    .p-home-video__wrap {
        margin-top: -140px;
    }
    .p-home-video__img {
        padding-top: 56.2903225806%;
        border-radius: 20px;
    }
    .p-home-lead {
        -webkit-transform: translateX(-0.3676470588vw);
        -ms-transform: translateX(-0.3676470588vw);
        margin-top: 170px;
        transform: translate(-0.3676470588vw);
    }
    .p-home-lead__title__main {
        margin-bottom: 0.62em;
    }
    .p-home-lead__body {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-right: -3px;
        margin-left: auto;
    }
    .p-home-lead__text {
        margin-bottom: 2em;
    }
    .p-home-works__title {
        margin-bottom: 55px;
    }
    .p-home-works__link {
        margin-top: 100px;
    }
    .p-home-design {
        padding-top: 249px;
        padding-bottom: 128px;
    }
    .p-home-design .c-title__sub {
        margin-bottom: 4.54em;
    }
    .p-home-design__line {
        margin-bottom: 16px;
    }
    .p-home-design__head {
        margin-bottom: 0;
    }
    .p-home-design__head-left {
        margin: 0 20px 0 0;
    }
    .p-home-design__head-left .c-title__main {
        min-height: 0.000001vw;
        font-size: clamp(4.25rem, 2.216rem + 4.24vw, 5.5rem);
    }
    .p-home-design__head-text {
        min-height: 0.000001vw;
        margin-bottom: -0.5em;
        font-size: clamp(1rem, -0.22rem + 2.54vw, 1.75rem);
    }
    .p-home-design__meter-base-box {
        position: relative;
        width: 2px;
        height: 200px;
        margin: 16px 9px 14px auto;
    }
    .p-home-design__meter {
        position: absolute;
        top: 129px;
        right: 0;
        margin-top: 154px;
        opacity: 0;
    }
    .p-home-design__meter-main {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
    }
    .p-home-design__body {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }
    .p-home-design__body.is-fixed {
        position: fixed;
    }
    .p-home-design__item {
        z-index: 3;
        position: relative;
        padding-top: 129px;
    }
    .p-home-design__item + .p-home-design__item {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        margin-top: 0;
    }
    .p-home-design__item:nth-child(2) {
        z-index: 2;
    }
    .p-home-design__item:nth-child(3) {
        z-index: 1;
    }
    .p-home-design__item.is-small {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .p-home-design__item.is-small .p-home-design__link {
        margin-top: 50px;
    }
    .p-home-design__img-box {
        width: 40%;
        max-width: 420px;
        margin: 0 50px 0 auto;
    }
    .p-home-design__text-box {
        width: 48%;
        max-width: 420px;
        margin: 0 auto 36px 0;
    }
    .p-home-design__label {
        margin-bottom: 36px;
    }
    .p-home-design__title-sub {
        margin-bottom: 0.11em;
        font-size: calc(12px + (1vw - 7.68px) * 2.34375);
    }
    .p-home-design__title-main {
        font-size: calc(34px + (1vw - 7.68px) * 5.46875);
    }
    .p-home-design__text {
        margin-top: 1.8em;
        font-size: calc(13px + ((1vw - 7.68px) * 1.171875));
    }
    .p-home-design__link {
        margin-top: 99px;
    }
    .p-home-member__slider-wrap {
        margin-left: 7.3529411765vw;
    }
    .p-home-member__link {
        margin-top: 98px;
    }
    .p-home-stories__title {
        margin-bottom: 48px;
    }
    .p-home-stories__title .c-title__sub {
        margin-bottom: 2.4em;
    }
    .p-home-stories__left {
        width: 18.9655172414%;
    }


}
@media screen and (min-width: 768px) and (min-aspect-ratio: 16/8) {

}
@media only screen and (min-width: 1024px) {
    .u-fs-12-lg {
        font-size: 0.75rem;
    }
    .u-fs-22-lg {
        font-size: 1.375rem;
    }
    .u-fs-28-lg {
        font-size: 1.75rem;
    }
    .u-fs-32-lg {
        font-size: 2rem;
    }
    .l-side-space-lg {
        padding-right: 7.3529411765vw;
        padding-left: 7.3529411765vw;
    }

    .p-home-design__meter {
        right: 0.3676470588vw;
    }
    .p-home-design__img-box {
        width: 100%;
        max-width: 32.3529411765vw;
        margin: 0 auto;
    }
    .p-home-design__text-box {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 100%;
        max-width: 420px;
        margin: 0 20px 36px 0;
    }
    .p-home-design__title-sub {
        font-size: 1.125rem;
    }
    .p-home-design__title-main {
        font-size: 3rem;
    }
    .p-home-design__text {
        font-size: 1rem;
    }
}
@media only screen and (min-width: 1200px) {

}
@media only screen and (min-width: 1361px) {

    .p-home-main__title {
        font-size: 7.125rem;
    }
}
@media screen and (min-width: 1361px) and (min-aspect-ratio: 16/8) {
    body .p-home-main__title {
        font-size: 5.6875rem;
    }
}
@media only screen and (min-width: 1720px) {

}
@media only screen and (max-width: 767px) {
    .u-hidden-md-max {
        display: none !important;
    }
    .u-br-none-md-max br {
        display: none;
    }
    .l-side-space-wide-md-max {
        padding-right: 4.8309178744vw;
        padding-left: 4.8309178744vw;
    }
    .c-stories-list--lg .c-stories-list-item:first-child .c-stories-list-inner {
        display: block;
    }
}
@media only screen and (max-width: 639px) {
    .u-hidden-sm-max {
        display: none !important;
    }
}
@media (hover: hover) and (pointer: fine) {
    a:hover,
    a:active,
    a:focus,
    button:hover,
    button:active,
    button:focus {
        text-decoration: none;
    }
    a:hover .u-hv-op,
    a:active .u-hv-op,
    a:focus .u-hv-op,
    button:hover .u-hv-op,
    button:active .u-hv-op,
    button:focus .u-hv-op {
        opacity: 0.6;
    }
    a.u-hv-op:hover,
    a.u-hv-op:active,
    a.u-hv-op:focus,
    button.u-hv-op:hover,
    button.u-hv-op:active,
    button.u-hv-op:focus {
        opacity: 0.6;
    }
    .u-hv-gray02:hover,
    .u-hv-gray02:active,
    .u-hv-gray02:focus {
        color: #f0f0f0;
    }
    .u-hv-scale:hover .u-scale-elm,
    .u-hv-scale:active .u-scale-elm,
    .u-hv-scale:focus .u-scale-elm {
        -webkit-transform: scale(1.05) rotate(0.1deg);
        -ms-transform: scale(1.05) rotate(0.1deg);
        transform: scale(1.05) rotate(0.1deg);
    }
    .u-hv-scale--over:hover ~ .u-hv-scale__box .u-scale-elm,
    .u-hv-scale--over:active ~ .u-hv-scale__box .u-scale-elm,
    .u-hv-scale--over:focus ~ .u-hv-scale__box .u-scale-elm {
        -webkit-transform: scale(1.05) rotate(0.1deg);
        -ms-transform: scale(1.05) rotate(0.1deg);
        transform: scale(1.05) rotate(0.1deg);
    }
    .c-nav__btn-close.is-active:hover:before,
    .c-nav__btn-close.is-active:hover:after {
        -webkit-animation-fill-mode: both;
        -webkit-animation-duration: 0.3s;
        -webkit-animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
        -webkit-animation-name: crossLine;
        animation-duration: 0.3s;
        animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
        animation-fill-mode: both;
        animation-name: crossLine;
    }
    .c-button:hover {
        border-color: #757b7e;
    }
    .c-button--white:hover {
        border-color: #ffffffb3;
    }
    a:hover .c-button__icon:before {
        -webkit-transform: translateX(0.3333333333em) translateY(-0.3333333333em);
        -ms-transform: translateX(0.3333333333em) translateY(-0.3333333333em);
        transform: translate(0.3333333333em) translateY(-0.3333333333em);
        opacity: 0;
    }
    a:hover .c-button__icon:after {
        -webkit-transform: translateY(0) translateX(0);
        -ms-transform: translateY(0) translateX(0);
        transform: translateY(0) translate(0);
        opacity: 1;
    }
    a[href$="pdf"]:hover .c-button__icon:before {
        -webkit-transform: translateY(-0.3333333333em);
        -ms-transform: translateY(-0.3333333333em);
        transform: translateY(-0.3333333333em);
    }
    a[href$="pdf"]:hover .c-button__icon:after {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
    a:hover .js-link-text__main,
    button:hover .js-link-text__main {
        -webkit-transform: translateY(-0.3333333333em);
        -ms-transform: translateY(-0.3333333333em);
        transform: translateY(-0.3333333333em);
        opacity: 0;
    }
    a:hover .js-link-text__sub,
    button:hover .js-link-text__sub {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
    .js-bg-color.is-dark .c-button:hover {
        border-color: #ffffffb3;
    }
    .splide__arrow:hover:not(:disabled) .splide__circle--bg circle {
        stroke: #212121;
    }
    .splide__arrow:hover:not(:disabled).splide__arrow--prev .splide__arrow-icon {
        opacity: 1;
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    *:before,
    *:after {
        -webkit-transition-duration: 0.01ms !important;
        -o-transition-duration: 0.01ms !important;
        -webkit-animation-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
@media screen and (-ms-high-contrast: none) {
    .splide__slide:focus-visible {
        border: 3px solid #0bf;
    }
}
@media print {
    .js-anime-item {
        opacity: 1;
    }
}
