/*common*/
@import url('WantedSans.css');

:root {
    --bb: #000;
    --b: #14191E;
    --w: #fff;
    --fz: 20px;
    --fzs: 14px;
    --fw: 700;
    --ls: -0.48px;
    --lh: 160%;
}

@media screen and (max-width: 1024px) {
    :root {
        --fz: 14px;
        --ls: -0.336px;
    }
}

html, body {
    background: var(--b);
    color: var(--w);
    font-family: 'Wanted Sans', sans-serif;
    letter-spacing: var(--ls);
    font-weight: var(--fw);
    font-size: var(--fz);
    line-height: var(--lh);
}

a,
button {
    display: inline-block;
    color: var(--w);
    font-family: 'Wanted Sans', sans-serif;
    letter-spacing: var(--ls);
    font-weight: var(--fw);
    font-size: var(--fz);
    line-height: var(--lh);
}

.btn {
    display: inline-block;
    height: 72px;
    line-height: 72px;
    padding: 0 36px;
    color: #fff;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -0.48px;
    border-radius: 36px;
    background: #14191E;
}

.btn + .btn {
    margin-left: 12px;
}

@media (hover: hover) and (pointer: fine) {
    .btn:hover {
        background: #1E252C;
    }
}

@media screen and (max-width: 1024px) {
    .btn {
        height: 56px;
        line-height: 56px;
        padding: 0 32px;
        color: #fff;
        font-size: 16px;
        letter-spacing: -0.384px;
        border-radius: 36px;
    }
}

.toast {
    position: fixed;
    z-index: 999;
    bottom: 0;
    left: 0;
    padding: 0 0 48px;
    width: 100%;
}

.toast-inner {
    margin: auto;
    max-width: 1080px;
    text-align: center;
    border-radius: 8px;
    background: #fff;
    border: 2px solid #14191E;
}

.toast .text {
    width: 100%;
    padding: 19px 36px;
    color: var(--bb);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 32px */
    letter-spacing: -0.48px;
}

@media screen and (max-width: 1024px) {
    .toast {
        padding: 0 24px 24px;
    }

    .toast-inner {
        border: 1px solid #14191E;
    }

    .toast .text {
        width: 100%;
        padding: 16px 40px;
        color: var(--bb);
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: 160%; /* 22.4px */
        letter-spacing: -0.336px;
    }
}

/* page */
.page {
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
}

.page-inner {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 60px;
}

@media screen and (max-width: 1024px) {
    .page-inner {
        padding-top: 68px;
    }
}

.page-title {
    padding: 52px 0 0;
    margin: auto;
    text-align: center;
}

.page-title h1 {
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 152%; /* 48.64px */
    letter-spacing: -0.768px;
}

.page-title .sub {
    margin-top: 16px;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 25.6px */
    letter-spacing: -0.384px;
}

.page--event .page-title h1 {
    display: flex;
    justify-content: center;
    align-items: center;
}

.page--event .info-btn {
    margin-left: 10px;
    position: static !important;
    transform: translateY(0) !important;
}

@media screen and (max-width: 1024px) {
    .page--event .page-title h1 {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 24px;
        font-style: normal;
        font-weight: 700;
        line-height: 152%;
        letter-spacing: -0.576px;
    }

    .page--event .info-btn {
        margin-left: 10px;
        position: static !important;
        transform: translateY(0) !important;
    }

    .page--event .switch .page-title .sub {
        display: none;
    }
}

.page-bottom {
    padding: 48px 0;
    text-align: center;
}

/* intro */
@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

.fade-out {
    animation-name: fadeOut;
    animation-duration: 500ms;
    animation-fill-mode: forwards;
}

.page--intro {
    position: fixed;
    z-index: 999999;
    top: 0;
    left: 0;
    background: var(--bb);
}

.page--intro .page-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 0;
}

.intro-title-wrap {
    position: relative;
}

.intro-title-back {
    color: #1E242B;
    font-size: 140px;
    font-style: normal;
    font-weight: 700;
    line-height: 135.8%; /* 190.12px */
    letter-spacing: -3.36px;
}

@keyframes background {
    0% {
        background-position: 0 50%
    }
    100% {
        background-position: 100% 50%
    }
}

.intro-title {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;

    animation: background 5000ms linear infinite;
    background: linear-gradient(
            -225deg,
            #FF5C00 5%,
            #FF8EFF 25%,
            #00ADFF 40%,
            #8364FF 60%,
            #00ADFF 75%,
            #FF8EFF 85%,
            #FF5C00 100%
    );
    background-size: 500% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: border-box;
    background-clip: text;
    text-fill-color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    font-size: 140px;
    font-style: normal;
    font-weight: 700;
    line-height: 135.8%;
    letter-spacing: -3.36px;

    transition: width 1000ms ease-out;
}

.intro-title.step1 {
    width: 25%;
}

.intro-title.step2 {
    width: 50%;
}

.intro-title.step3 {
    width: 80%;
}

.intro-title.step4 {
    width: 100%;
}

@media screen and (max-width: 1024px) {
    .intro-title-back {
        font-size: 44px;
        letter-spacing: -1.056px;
    }

    .intro-title {
        font-size: 44px;
        letter-spacing: -1.056px;
    }
}

.page--intro .wanted-logo {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
}

.page--intro .wanted-logo svg {
    width: 200px;
    height: 48px;
}

@media screen and (max-width: 1024px) {
    .page--intro .wanted-logo {
        bottom: 30px;
        width: 133.333px;
    }

    .page--intro .wanted-logo svg {
        width: 133.333px;
        height: 32px;
    }
}

.page--intro-dim {
    position: fixed;
    z-index: 99999;
    /*background: rgba(20, 25, 30, 0.60);*/
    /*backdrop-filter: blur(10px);*/
    /*-webkit-backdrop-filter: blur(10px);*/
}

.page--intro-dim .page-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: -50px;
}

.page--intro-dim .pc {
    display: block;
    max-width: 320px;
}

.page--intro-dim .mobile {
    display: none;
}

@media screen and (max-width: 1024px) {
    .page--intro-dim .pc {
        display: none;
    }

    .page--intro-dim .mobile {
        display: block;
        max-width: 152px;
    }
}

.intro-toast {
    z-index: 99999;
}

.intro-toast .toast-inner,
.doll-toast .toast-inner,
.zoom-toast .toast-inner {
    position: relative;
    cursor: pointer;
}

@keyframes bounce {
    50% {
        transform: translateY(-3px);
    }
}

.intro-toast .icon-arrow,
.doll-toast .icon-arrow,
.zoom-toast .icon-arrow {
    position: absolute;
    top: 50%;
    right: 27px;
    margin-top: -5px;
    transform: translateY(3px);
    animation: bounce 1500ms ease-out infinite;
    /*animation: bounce 1500ms step-end infinite;*/
}

.intro-toast .icon-arrow .pc,
.doll-toast .icon-arrow .pc,
.zoom-toast .icon-arrow .pc {
    display: block;
    width: 18px;
    height: 12px;
}

.intro-toast .icon-arrow .mobile,
.doll-toast .icon-arrow .mobile,
.zoom-toast .icon-arrow .mobile {
    display: none;
    width: 12px;
    height: 9px;
}

@media screen and (max-width: 1024px) {
    .intro-toast .icon-arrow,
    .doll-toast .icon-arrow,
    .zoom-toast .icon-arrow {
        right: 18px;
    }

    .intro-toast .icon-arrow .pc,
    .doll-toast .icon-arrow .pc,
    .zoom-toast .icon-arrow .pc {
        display: none;
    }

    .intro-toast .icon-arrow .mobile,
    .doll-toast .icon-arrow .mobile,
    .zoom-toast .icon-arrow .mobile {
        display: block;
    }
}

/* header */
header {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: rgba(20, 25, 30, 0.60);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.page--branding header,
.layerOpen header {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.layerOpen1 header .nav-item svg path,
.layerOpen1 header .nav-item-m svg path,
.layerOpen1 header .share-btn-m svg path,
.layerOpen1 header .logo-btn-m svg path,
.layerOpen header .nav-item svg path,
.layerOpen header .nav-item-m svg path,
.layerOpen header .share-btn-m svg path,
.layerOpen header .logo-btn-m svg path {
    fill-opacity: 0.4 !important;
}

.layerOpen1 header .nav-item.on svg path,
.layerOpen1 header .nav-item-m.on svg path,
.layerOpen header .nav-item.on svg path,
.layerOpen header .nav-item-m.on svg path {
    fill-opacity: 1 !important;
}

.layerOpen .page--branding header,
.layerOpenEx .page header {
    display: none;
}

.header-inner {
    position: relative;
    padding: 0 20px;
    width: 100%;
    max-width: 1160px;
    height: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo a {
    display: block;
}

.logo svg {
    width: 133.333px;
    height: 30.857px;
}

@media screen and (max-width: 1024px) {
    header {
        height: 68px;
        width: 100%;
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    header::-webkit-scrollbar {
        display: none;
    }

    .header-inner {
        width: fit-content;
    }

    .logo {
        display: none;
    }
}

nav {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 1024px) {
    nav {
        position: static;
        transform: translate(0, 0);
    }
}

.nav-inner--d {
    display: flex;
}

.nav-inner--pc {
    display: flex;
}

.nav-inner--m {
    display: none;
}

.nav-item + .nav-item,
.nav-item-m + .nav-item-m {
    margin-left: 16px;
}

.nav-item a,
.nav-item button,
.nav-item-m a,
.nav-item-m button {
    display: flex;
    width: 48px;
    height: 48px;
    font-size: var(--fz);
    border-radius: 50%;
    background: rgba(20, 25, 30, 0.60);
}

.nav-item.on a path,
.nav-item.on button path,
.nav-item-m.on a path,
.nav-item-m.on button path {
    fill: black
}

@media (hover: hover) and (pointer: fine) {
    .nav-item a:hover path,
    .nav-item button:hover path {
        fill: black
    }
}

.nav-item--spin.on a,
.nav-item--spin.on button,
.nav-item-m--spin.on a,
.nav-item-m--spin.on button {
    background: #FF8039;
}

.nav-item--monitor.on a,
.nav-item--monitor.on button,
.nav-item-m--monitor.on a,
.nav-item-m--monitor.on button {
    background: #FFA9FF;
}

.nav-item--laptop.on a,
.nav-item--laptop.on button,
.nav-item-m--laptop.on a,
.nav-item-m--laptop.on button {
    background: #A48DFF;
}

.nav-item--phone.on a,
.nav-item--phone.on button,
.nav-item-m--phone.on a,
.nav-item-m--phone.on button {
    background: #A3FF5B;
}

.nav-item--memo.on a,
.nav-item--memo.on button,
.nav-item-m--memo.on a,
.nav-item-m--memo.on button {
    background: #FFD600;
}

.nav-item--doll.on a,
.nav-item--doll.on button,
.nav-item-m--doll.on a,
.nav-item-m--doll.on button {
    background: #4DDFFF;
}

.nav-item--light.on a,
.nav-item--light.on button,
.nav-item-m--light.on a,
.nav-item-m--light.on button {
    background: #FF8039;
}

.nav-item--cup.on a,
.nav-item--cup.on button,
.nav-item-m--cup.on a,
.nav-item-m--cup.on button {
    background: #FFA9FF;
}

@media (hover: hover) and (pointer: fine) {
    body:not(.layerOpen) .nav-item--spin a:hover,
    body:not(.layerOpen) .nav-item--spin button:hover {
        background: #FF8039;
    }

    body:not(.layerOpen) .nav-item--monitor a:hover,
    body:not(.layerOpen) .nav-item--monitor button:hover {
        background: #FFA9FF;
    }

    body:not(.layerOpen) .nav-item--laptop a:hover,
    body:not(.layerOpen) .nav-item--laptop button:hover {
        background: #A48DFF;
    }

    body:not(.layerOpen) .nav-item--phone a:hover,
    body:not(.layerOpen) .nav-item--phone button:hover {
        background: #A3FF5B;
    }

    body:not(.layerOpen) .nav-item--memo a:hover,
    body:not(.layerOpen) .nav-item--memo button:hover {
        background: #FFD600;
    }

    body:not(.layerOpen) .nav-item--doll a:hover,
    body:not(.layerOpen) .nav-item--doll button:hover {
        background: #4DDFFF;
    }

    body:not(.layerOpen) .nav-item--light a:hover,
    body:not(.layerOpen) .nav-item--light button:hover {
        background: #FF8039;
    }

    body:not(.layerOpen) .nav-item--cup a:hover,
    body:not(.layerOpen) .nav-item--cup button:hover {
        background: #FFA9FF;
    }
}

.share-btn {
    margin-left: 16px;
    padding: 9px 18px;
    font-size: var(--fzs);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.10);
}

.share-btn:hover {
    background: #14191E;
}

.share-btn-m {
    display: none;
    /*display: flex;*/
    margin-left: 16px;
    width: 48px;
    height: 48px;
    font-size: var(--fz);
    border-radius: 50%;
    background: rgba(20, 25, 30, 0.60);
}

.logo-btn-m {
    display: none;
    /*display: flex;*/
    margin-left: 16px;
    width: 48px;
    height: 48px;
    font-size: var(--fz);
    border-radius: 50%;
    background: rgba(20, 25, 30, 0.60);
}

@media screen and (max-width: 1024px) {
    .nav-inner--pc {
        display: none;
    }

    .nav-inner--m {
        display: flex;
    }

    /*.nav-item-m a svg path,*/
    /*.nav-item-m button svg path {*/
    /*    fill-opacity: 0.4;*/
    /*}*/
    .nav-item-m.on a path,
    .nav-item-m.on button path {
        fill-opacity: 1;
    }

    @media (hover: hover) and (pointer: fine) {
        .nav-item-m:hover a path,
        .nav-item-m:hover button path {
            fill-opacity: 1;
        }
    }

    .share-btn {
        display: none;
    }

    .logo-btn-m,
    .share-btn-m {
        display: flex;
    }

    /*.share-btn-m svg path {*/
    /*    fill-opacity: 0.4;*/
    /*}*/
    .logo-btn-m:hover svg path,
    .share-btn-m:hover svg path {
        fill: white;
        fill-opacity: 1;
    }

    .logo-btn-m:hover,
    .share-btn-m:hover {
        background: var(--bb);
    }

    .logo-btn-m {
        margin-left: 16px;
    }
}

.share-toast {
    display: none;
}

.share-toast .toast-inner {
    margin: auto;
    max-width: 1080px;
    text-align: center;
    border-radius: 8px;
    background: #14191E;
    border: 2px solid #14191E;
}

.share-toast .text {
    color: #4DDFFF;
}


@keyframes bounce-ex {
    50% {
        transform: translate(-50%, -4px);
    }
}

.page-arrow {
    position: absolute;
    bottom: 65px;
    left: 50%;
    transform: translate(-50%, 4px);
    animation: bounce-ex 1000ms ease-out infinite;
}

.page-arrow svg {
    width: 68px;
    height: 24px;
}

@media screen and (max-width: 1024px) {
    .page-arrow {
        bottom: 40px;
    }
}

/* bg */
.page--bg {
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.page--bg::-webkit-scrollbar {
    display: none;
}

.bg-inner {
    position: relative;
    z-index: 9;
    width: 100%;
    height: 100%;
}

.bg-item {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: transform 1000ms ease-out;
}

.bg-back {
    position: relative;
    z-index: 0;
}

.bg-front {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}

.bg-front-img {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.bg-toast {
    display: none;
}

/* event */
.page--event header {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.page--event {
    background-image: url('../img/cont/bg_day.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media screen and (max-width: 1024px) {
    .page--event {
        background-image: url('../img/cont/bg_day-m.png');
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }
}

/*.event-inner {*/
/*    background: rgba(20, 25, 30, 0.60);*/
/*    backdrop-filter: blur(20px);*/
/*    -webkit-backdrop-filter: blur(20px);*/
/*}*/

.event-content {
    width: 100%;
    height: calc(100vh - (60px + 210px + 168px));
}

.layer-event {
    width: 100%;
    height: calc(100vh - (60px + 210px));
}

.layer-event {
    display: none;
}

.event-content {
    display: block;
}

.event-inner.switch .layer-event {
    display: block;
}

.event-inner.switch .event-content {
    display: none;
}

.event-inner.switch .page-bottom {
    display: none;
}

.event-content {
    padding-top: 42px;
    width: 100%;
    overflow-y: hidden;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.event-content::-webkit-scrollbar {
    display: none;
}

.event-content-inner {
    padding: 0 52px;
    display: grid;
    grid-template-rows: repeat(2, 1fr);
    gap: 38px 0;
    width: fit-content;
    height: 100%;
}

.event-content-col {
    display: flex;
    column-gap: 35px;
}

.memo-item {
    position: relative;
    padding: 30px 30px 40px;
    width: calc((100vh - (60px + 210px + 168px + 42px + 38px)) / 2);
    height: calc((100vh - (60px + 210px + 168px + 42px + 38px)) / 2);
}

.memo-item .comment {
    height: 100%;
    color: var(--bb);
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 32px */
    letter-spacing: -0.48px;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    word-break: break-word;
}

.memo-item .comment::-webkit-scrollbar {
    display: none;
}

.memo-item .writer {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    padding: 0 30px 20px;
    width: 100%;

    color: #14191E;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 19.2px */
    letter-spacing: -0.288px;
    opacity: 0.5;
}

.event-content-col--1 .memo-item:nth-child(1),
.event-content-col--1 .memo-item:nth-child(6n+1) {
    background-color: #FFD600;
}

.event-content-col--1 .memo-item:nth-child(2),
.event-content-col--1 .memo-item:nth-child(6n+2) {
    transform: rotate(-1deg);
    background-color: #FF8039;
}

.event-content-col--1 .memo-item:nth-child(3),
.event-content-col--1 .memo-item:nth-child(6n+3) {
    transform: rotate(1deg);
    background-color: #FFA9FF;
}

.event-content-col--1 .memo-item:nth-child(4),
.event-content-col--1 .memo-item:nth-child(6n+4) {
    background-color: #A48DFF;
}

.event-content-col--1 .memo-item:nth-child(5),
.event-content-col--1 .memo-item:nth-child(6n+5) {
    transform: rotate(1deg);
    background-color: #A3FF5B;
}

.event-content-col--1 .memo-item:nth-child(6),
.event-content-col--1 .memo-item:nth-child(6n+6) {
    transform: rotate(-1deg);
    background-color: #4DDFFF;
}

.event-content-col--2 .memo-item:nth-child(1),
.event-content-col--2 .memo-item:nth-child(6n+1) {
    transform: rotate(1deg);
    background-color: #4DDFFF;
}

.event-content-col--2 .memo-item:nth-child(2),
.event-content-col--2 .memo-item:nth-child(6n+2) {
    transform: rotate(-1deg);
    background-color: #A3FF5B;
}

.event-content-col--2 .memo-item:nth-child(3),
.event-content-col--2 .memo-item:nth-child(6n+3) {
    transform: rotate(1deg);
    background-color: #A48DFF;
}

.event-content-col--2 .memo-item:nth-child(4),
.event-content-col--2 .memo-item:nth-child(6n+4) {
    background-color: #FFA9FF;
}

.event-content-col--2 .memo-item:nth-child(5),
.event-content-col--2 .memo-item:nth-child(6n+5) {
    transform: rotate(1deg);
    background-color: #FF8039;
}

.event-content-col--2 .memo-item:nth-child(6),
.event-content-col--2 .memo-item:nth-child(6n+6) {
    transform: rotate(-1deg);
    background-color: #FFD600;
}

.event-content-col--m {
    display: none;
}

@media screen and (max-width: 1024px) {
    .event-content-col--1,
    .event-content-col--2 {
        display: none;
    }

    .event-content-col--m {
        display: flex;
    }

    .event-content-col--m .memo-item:nth-child(1),
    .event-content-col--m .memo-item:nth-child(6n+1) {
        transform: rotate(1deg);
        background-color: #4DDFFF;
    }

    .event-content-col--m .memo-item:nth-child(2),
    .event-content-col--m .memo-item:nth-child(6n+2) {
        transform: rotate(-1deg);
        background-color: #A3FF5B;
    }

    .event-content-col--m .memo-item:nth-child(3),
    .event-content-col--m .memo-item:nth-child(6n+3) {
        transform: rotate(1deg);
        background-color: #A48DFF;
    }

    .event-content-col--m .memo-item:nth-child(4),
    .event-content-col--m .memo-item:nth-child(6n+4) {
        background-color: #FFA9FF;
    }

    .event-content-col--m .memo-item:nth-child(5),
    .event-content-col--m .memo-item:nth-child(6n+5) {
        transform: rotate(1deg);
        background-color: #FF8039;
    }

    .event-content-col--m .memo-item:nth-child(6),
    .event-content-col--m .memo-item:nth-child(6n+6) {
        transform: rotate(-1deg);
        background-color: #FFD600;
    }

    .memo-item {
        position: relative;
        padding: 24px 24px 34px;
        width: calc(var(--vh, 1vh) * 100 - 440px);
        height: calc(var(--vh, 1vh) * 100 - 440px);
    }

    .memo-item .writer {
        padding: 0 24px 10px;
    }
}

.layer-event-inner,
.post-wrap {
    height: 100%;
}

.post-wrap #kommentform {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    gap: 0;
}

.post-cont {
    width: 460px;
    height: 460px;
    padding: 32px 32px 24px 32px;
    background: #FFD600;
}

@media screen and (max-width: 1024px) {
    .post-wrap {
        padding: 0 24px 0;
    }

    .post-cont {
        width: 100%;
        height: auto;
        padding: 20px;
        background: #FFD600;
    }
}

.post-cont input[type="text"] {
    margin-bottom: 8px;
    padding: 0 20px;
    height: 56px;
    line-height: 56px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.30);

    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: -0.48px;
}

.post-cont input.input-hidden {
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    border: 0;
    margin: 0;
    padding: 0;
    line-height: 0;
    font-size: 0;
    display: none;
}

.post-cont textarea {
    padding: 16px 20px 8px;
    height: 242px;

    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: -0.48px;

    border-radius: 4px;
    /*border: 1px solid #FFF;*/
    background: rgba(255, 255, 255, 0.30);
}

@media screen and (max-width: 1024px) {
    .post-cont input[type="text"] {
        padding: 0 13px;
        height: 44px;
        line-height: 44px;

        font-size: 16px;
        font-weight: 500;
        letter-spacing: -0.384px;
    }

    .post-cont textarea {
        padding: 16px 13px 8px;
        height: 156px;

        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 160%;
        letter-spacing: -0.384px;
    }
}

.post-g {
    margin-top: 8px;
    display: flex;
    justify-content: space-between;
}

.post-g span {
    color: var(--bb);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 19.2px */
    letter-spacing: -0.288px;
}

.post-bottom {
    padding: 48px 0;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .post-bottom {
        padding: 35px 0 24px;
        text-align: center;
    }
}

.layer-back-btn {
    cursor: pointer;
}

.page-title h1 {
    position: relative;
    display: inline-block;
    margin: auto;
}

.page--event .info-btn {
    position: absolute;
    top: 50%;
    right: calc(-28px - 8px);
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
}

.layer-info {
    display: none;
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    /*background: rgba(20, 25, 30, 0.60);*/
    /*backdrop-filter: blur(20px);*/
    /*-webkit-backdrop-filter: blur(20px);*/
}

.layer-info-inner {
    position: relative;
    width: 100%;
    min-width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.layer-info-cont {
    position: relative;
    padding: 25px 16px 20px;
    max-width: 496px;
    border-radius: 8px;
    background: var(--Black-1, #14191E);
    box-shadow: 4px 4px 20px #14191E;
}


@media screen and (max-width: 1024px) {
    .layer-info-inner {
        padding: 0 20px;
    }

    .layer-info-cont {
        max-width: none;
    }
}

.layer-info-title {
    margin-bottom: 16px;
    font-size: 20px;
    font-weight: 700;
    line-height: 160%; /* 32px */
    letter-spacing: -0.48px;
}

.layer-info-close-btn {
    position: absolute;
    top: 25px;
    right: 16px;
    width: 28px;
    height: 28px;
    cursor: pointer;
}

.layer-info-detail > div {
    position: relative;
    padding-left: 20px;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 22.4px */
    letter-spacing: -0.336px;
}

.layer-info-detail > div:before {
    content: '•';
    position: absolute;
    top: 0;
    left: 0;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 22.4px */
    letter-spacing: -0.336px;
    width: 20px;
    text-align: center;
}

.layer-info-detail > div + div {
    margin-top: 4px;
}

.contact {
    margin-top: 12px;
}

.contact,
.contact * {
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 19.2px */
    letter-spacing: -0.288px;
    opacity: 0.6;
}

.contact a {
    opacity: 1;
}

/* layer */
.layer {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background: rgba(20, 25, 30, 0.60);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.layer-inner {
    position: relative;
    padding-top: 60px;
    width: 100%;
    height: 100%;
}

/*.layer-cont {*/
/*    position: relative;*/
/*    z-index: 1;*/
/*}*/

.layer-close-dim {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.layer .toast-inner {
    background: #14191E;
}

.layer .toast .text {
    color: #fff;
}

.layer-title {
    padding: 52px 0 68px;
    margin: auto;
    text-align: center;
}

.layer-title h2 {
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 152%; /* 48.64px */
    letter-spacing: -0.768px;
}

.layer-title .sub {
    margin-top: 16px;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 25.6px */
    letter-spacing: -0.384px;
}

@media screen and (max-width: 1440px) {
    .layer-title {
        padding: 2px 0 34px;
    }

    .layer-title h2 {
        font-size: 24px;
        font-weight: 700;
        line-height: 152%; /* 36.48px */
        letter-spacing: -0.576px;
    }

    .layer-title .sub {
        margin-top: 8px;
        font-size: 14px;
        font-weight: 700;
        line-height: 160%; /* 22.4px */
        letter-spacing: -0.336px;
    }
}

.layer-cont--d {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
}

.layer-cont--d > div:first-child {
    height: calc(100vh - (60px + 120px));
}

.layer-bottom {
    padding: 48px 0 48px;
    height: 120px;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .layer-bottom {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 0 0 24px;
        height: auto;
    }
}

.layer-btn {
    cursor: pointer;
}

/* layer :: doll */
.doll-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*margin-top: -120px;*/
    width: 35%;
    max-width: 495px;
}

@media screen and (max-width: 1024px) {
    .doll-img {
        width: calc(100% - 60px);
    }
}

/* layer :: monitor */
.monitor-cont {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.monitor-cont.layer-cont--d .embed-item {
    margin-top: 68px;
    position: relative;
    width: 100%;
    padding-bottom: 30%;
    height: 0;
    overflow: hidden;
    max-width: 820px;
}

.embed-item iframe {
    position: fixed;
    top: 50%;
    left: 0;
    transform: translateY(-55%);
    width: 100%;
    height: 75%;
}

@media screen and (max-width: 1024px) {
    .embed-item iframe {
        position: fixed;
        top: 50%;
        left: 0;
        transform: translateY(-55%);
        width: 100%;
        height: 50%;
    }
}

/* layer :: phone */
.phone-cont img {
    margin: auto;
    width: 80%;
}

.career-item {
    padding: 0 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: -30px;
}

.career-item .layer-title {
    margin: auto auto 0;
}

.card-wrap {
    margin: 0 auto auto;
    display: block;
    max-width: 1440px;
}

.card-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 40px;
}

@media screen and (max-width: 1280px) {
    .career-item {
        padding: 0 20px;
    }

    .card-list {
        column-gap: 18px;
    }
}

.card-item {
    display: flex;
    flex-direction: column;
    padding: 32px 0 0;
    background: var(--b);
    border-radius: 16px;
    overflow: hidden;
}

.card-top {
    padding: 0 30px 24px;
}

.card-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 152%;
    letter-spacing: -0.768px;
}

.card-sub {
    margin: 8px 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: -0.48px;
}

.card-desc {
    font-size: 16px;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: -0.384px;
}

.card-img {
    margin: auto 0 0;
}

.phone-cont .page-arrow {
    display: none;
}

@media screen and (max-width: 1024px) {
    .layer--phone .layer-inner {
        padding-top: 0;
        height: auto;
    }

    .layer-cont--d > div.career-item {
        padding: 0;
        width: 100%;
        height: auto;
    }

    .career-item .layer-title {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
        height: calc(var(--vh, 1vh) * 100);
        opacity: 1;
        transition: opacity 500ms ease-out;
    }

    .m-step1.career-item .layer-title,
    .m-step2.career-item .layer-title,
    .m-step3.career-item .layer-title,
    .m-step4.career-item .layer-title,
    .m-step5.career-item .layer-title {
        opacity: 0;
    }

    .m-step2.career-item .layer-title,
    .m-step3.career-item .layer-title,
    .m-step4.career-item .layer-title,
    .m-step5.career-item .layer-title {
        display: none;
    }

    .career-item .layer-title h2 {
        margin: -68px auto;
        max-width: 265px;
        font-size: 32px;
        font-weight: 700;
        line-height: 152%; /* 48.64px */
        letter-spacing: -0.768px;
    }

    .card-item {
        padding: 28px 0 0;
        height: 100%;
    }

    .card-title {
        font-size: 24px;
        font-weight: 700;
        line-height: 152%; /* 36.48px */
        letter-spacing: -0.576px;
    }

    .card-sub {
        font-size: 16px;
        font-weight: 700;
        line-height: 160%; /* 25.6px */
        letter-spacing: -0.384px;
    }

    .card-desc {
        font-size: 14px;
        font-weight: 500;
        line-height: 160%; /* 22.4px */
        letter-spacing: -0.336px;
    }

    /*.phone-cont .layer-bottom {*/
    /*    position: static;*/
    /*    margin: 0 auto 0;*/
    /*    padding: 44px 0 24px;*/
    /*}*/
    .phone-cont .page-arrow {
        display: block;
    }
}

@media screen and (max-width: 1024px) {
    /*.career-item .layer-title {*/
    /*    position: fixed;*/
    /*    z-index: 1;*/
    /*    top: 0;*/
    /*    left: 0;*/
    /*    width: 100%;*/
    /*}*/
    .card-wrap {
        position: relative;
        z-index: 1;
        padding: 68px 24px 24px;
        width: 100%;
        height: calc(var(--vh, 1vh) * 100);
        /*height: auto;*/
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        /*opacity: 0;*/
        transition: opacity 500ms ease-out;
        overflow-y: auto;
    }

    .card-item + .card-item {
        margin-top: 40px;
    }

    .m-step1 .card-wrap,
    .m-step2 .card-wrap,
    .m-step3 .card-wrap,
    .m-step4 .card-wrap,
    .m-step5 .card-wrap {
        opacity: 1;
    }

    .card-wrap {
        display: block;
    }

    .card-list {
        position: relative;
        display: block;
        width: fit-content;
    }

    .card-item {
        /*position: absolute;*/
        /*z-index: 0;*/
        /*top: 0;*/
        /*left: 0;*/
        /*opacity: 0;*/
        /*transition: opacity 500ms ease-out;*/
    }

    .card-item:first-child {
        position: relative;
        top: initial;
        left: initial;
        z-index: 1;
        opacity: 1;
    }

    .m-step2 .card-item:first-child,
    .m-step3 .card-item:first-child,
    .m-step4 .card-item:first-child {
        opacity: 0;
    }

    .m-step2 .card-item:nth-child(2) {
        opacity: 1;
    }

    .m-step3 .card-item:nth-child(3) {
        opacity: 1;
    }

    .m-step4 .card-item:nth-child(4) {
        opacity: 1;
    }
}

/* temp */
.temp-bg-wrap {
    display: block;
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.m-bg-wrap {
    display: none;
}

.temp-bg {
    position: relative;
    width: 100%;
    height: 100%;
    transform: scale(1.2);
}

.temp-bg > div {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 1000ms ease-out;
}

.temp-bg > div img {
    /*width: auto;*/
    /*height: 100%;*/
    /*object-fit: cover;*/
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.temp-bg-back {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
}

.temp-bg-front {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.temp-bg-front-fixed {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.temp-bg-front-fixed.layer0 {
    z-index: 0;
}

.temp-bg-front-fixed.layer1 {
    z-index: 1;
}

/*@keyframes fadeInOut {*/
/*    0%, 100% {*/
/*        opacity: 0;*/
/*    }*/
/*    50% {*/
/*        opacity: 1;*/
/*    }*/
/*}*/

/*.temp-bg-front-fixed.layer2 {*/
/*    z-index: 2;*/
/*    opacity: 0;*/
/*    animation: fadeInOut 10s step-end infinite;*/
/*}*/

.temp-bg-front-layer {
    position: relative;
    z-index: 3;
}

.temp-bg-front-layer.off {
    opacity: 0;
}

.temp-bg-video {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.temp-bg-video-inner {
    position: relative;
    width: 100%;
    height: 100%;
}

.temp-bg-video-inner img {
    opacity: 0;
}

/*.temp-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}*/

#monitor {
}

@media screen and (max-width: 1024px) {
    .temp-bg-wrap {
        display: none;
    }

    .m-bg-wrap {
        display: block;
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .m-bg {
        position: relative;
        width: 100%;
        /*height: calc(var(--vh, 1vh) * 100);*/
        height: 100%;
        overflow-y: hidden;
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        left: 50%;
        transform: translateX(-50%) translateY(0) scale(1);
        transition: transform 500ms ease-out;
    }

    .m-bg::-webkit-scrollbar {
        display: none;
    }

    .m-bg > div {
        display: block;
        transition: transform 1000ms ease-out;
    }

    .m-bg > div img {
        width: auto;
        height: 100%;
        /*object-fit: cover;*/
    }

    .m-bg-back {
        position: relative;
        z-index: 0;
        width: fit-content;
        height: 100%;
        transform: scale(1) translateX(0);
    }

    .m-bg-front {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        width: fit-content;
        height: 100%;
        transform: scale(1) translateX(0);
    }

    .m-bg-front-fixed {
        position: relative;
    }

    .m-bg-front-fixed.layer0 {
        z-index: 0;
    }

    .m-bg-front-fixed.layer1 {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
    }

    @keyframes fadeInOut {
        0%, 100% {
            opacity: 0;
        }
        50% {
            opacity: 1;
        }
    }

    .m-bg-front-fixed.layer2 {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        opacity: 0;
        animation: fadeInOut 10s step-end infinite;
    }

    .m-bg-front-layer {
        position: absolute;
        z-index: 3;
        top: 0;
        left: 0;
        width: auto;
        height: 100%;
    }

    /*.m-bg-front-layer.off {*/
    /*    opacity: 0;*/
    /*}*/
}

.temp-bg-front area {
    cursor: pointer !important;
}

/* branding */
.page--branding {
    background: var(--bb);
}

@media screen and (max-width: 1024px) {
    .page--branding {
        height: auto;
    }

    .layer--phone .layer-cont--d {
        overflow-y: auto;
    }

    .card-wrap {
        height: auto;
    }
}

.branding-inner {
    padding-top: 0;
}

.branding-sec {
    position: relative;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background: var(--bb);
}

.branding-sec--visual {
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    transition: opacity 500ms ease-out;
}

.step1 .branding-sec--visual,
.step2 .branding-sec--visual,
.step3 .branding-sec--visual,
.step4 .branding-sec--visual,
.step5 .branding-sec--visual {
    opacity: 0;
}

.step2 .branding-sec--visual,
.step3 .branding-sec--visual,
.step4 .branding-sec--visual,
.step5 .branding-sec--visual {
    display: none;
}

#symbol {
    width: auto;
    height: 70%;
}

@media screen and (max-width: 1024px) {
    #symbol {
        width: 75%;
        height: auto;
    }
}

.branding-sec--cont {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 500ms ease-out, background 500ms ease-out;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url('../img/cont/bg-1.jpg');
}

.step1 .branding-sec--cont,
.step2 .branding-sec--cont,
.step3 .branding-sec--cont,
.step4 .branding-sec--cont,
.step5 .branding-sec--cont {
    opacity: 1;
}

.branding-sec-inner {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.branding-dim {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--bb);
    opacity: 1;
    transition: opacity 500ms ease-out;
}

.step2 .branding-dim,
.step3 .branding-dim,
.step4 .branding-dim,
.step5 .branding-dim {
    opacity: 0;
}

.branding-cont-wrap {
    position: relative;
    z-index: 1;
}

.branding-title {
    font-size: 40px;
    font-style: normal;
    font-weight: 800;
    line-height: 135.8%;
    letter-spacing: -0.96px;
    text-align: center;
    transform: scale(2) translateY(180%);
    transition: transform 1500ms ease-out;
}

.step1 .branding-title {
    transform: scale(2) translateY(140%);
}

.step2 .branding-title,
.step3 .branding-title,
.step4 .branding-title,
.step5 .branding-title {
    transform: scale(1) translateY(0);
}

@keyframes color-c {
    0% {
        color: #8364FF
    }
    10% {
        color: #00ADFF
    }
    20% {
        color: #FF8EFF
    }
    40% {
        color: #FF5C00
    }
    60% {
        color: #FF8EFF
    }
    80% {
        color: #00ADFF
    }
    100% {
        color: #8364FF
    }
}

.step1 .branding-title .em {
    animation: color-c 5000ms linear infinite;
}

.branding-list {
    display: flex;
    column-gap: 40px;
    margin-top: 68px;
    opacity: 0;
    transition: opacity 1500ms ease-out;
}

.step2 .branding-list,
.step3 .branding-list,
.step4 .branding-list,
.step5 .branding-list {
    opacity: 1;
}

.branding-item {
    display: flex;
    flex-direction: column;
    padding: 32px;
    width: 332px;
    height: 332px;
    background: rgba(0, 0, 0, 0.60);
    border-radius: 16px;
    overflow: hidden;
    opacity: 0.2;
    transition: opacity 500ms ease-out;
    cursor: pointer;
}

.branding-item.on {
    opacity: 1;
}

.click0.branding-sec--cont {
    background-image: url('../img/cont/bg-1.jpg');
}

.click1.branding-sec--cont {
    background-image: url('../img/cont/bg-2.jpg');
}

.click2.branding-sec--cont {
    background-image: url('../img/cont/bg-3.jpg');
}

.branding-sub-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 152%; /* 48.64px */
    letter-spacing: -0.768px;
}

.branding-desc {
    margin-top: 12px;
    font-size: 16px;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: -0.384px;
}

@media screen and (max-width: 1024px) {
    .branding-sub-title {
        font-size: 24px;
        font-weight: 700;
        line-height: 152%; /* 36.48px */
        letter-spacing: -0.576px;
    }

    .branding-desc {
        margin-top: 12px;
        font-size: 16px;
        font-weight: 500;
        line-height: 160%;
        letter-spacing: -0.384px;
    }
}

.page--branding .page-bottom {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    width: 100%;
    display: none;
    opacity: 0;
    transition: opacity 500ms ease-out;
}

.page--branding .step1 .page-bottom {
    display: block;
}

.page--branding .step2 .page-bottom,
.page--branding .step3 .page-bottom,
.page--branding .step4 .page-bottom,
.page--branding .step5 .page-bottom {
    opacity: 1;
    display: block;
}

.branding-swiper-wrap {
    display: none;
}

@media screen and (max-width: 1024px) {
    .m-step1 .branding-sec--visual,
    .m-step2 .branding-sec--visual,
    .m-step3 .branding-sec--visual,
    .m-step4 .branding-sec--visual,
    .m-step5 .branding-sec--visual {
        opacity: 0;
    }

    .m-step2 .branding-sec--visual,
    .m-step3 .branding-sec--visual,
    .m-step4 .branding-sec--visual,
    .m-step5 .branding-sec--visual {
        display: none;
    }

    .branding-sec--cont {
        display: none;
    }

    .page--branding .page-bottom {
        position: static;
        margin: auto auto 0;
        padding: 44px 0 24px;
    }

    .branding-swiper-wrap {
        position: fixed;
        z-index: 0;
        top: 0;
        left: 0;
        width: 100%;
        height: calc((var(--vh, 1vh) * 100));
        padding: 0 24px;
        overflow-x: hidden;
        overflow-y: hidden;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        transition: background 500ms ease-out;
    }

    .branding-swiper-dim {
        position: absolute;
        z-index: 0;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: var(--bb);
        opacity: 1;
        transition: opacity 500ms ease-out;
    }

    .m-step2 .branding-swiper-dim,
    .m-step3 .branding-swiper-dim,
    .m-step4 .branding-swiper-dim,
    .m-step5 .branding-swiper-dim {
        opacity: 0;
    }

    .branding-swiper-title {
        position: relative;
        z-index: 2;
        margin: auto auto 0;
        font-size: 24px;
        font-style: normal;
        font-weight: 700;
        line-height: 152%; /* 36.48px */
        letter-spacing: -0.576px;
        text-align: center;
        transform: scale(1.5) translateY(240%);
        transition: transform 1000ms ease-out;
    }

    .m-step1 .branding-swiper-title {
        transform: scale(1.5) translateY(220%);
    }

    .m-step2 .branding-swiper-title,
    .m-step3 .branding-swiper-title,
    .m-step4 .branding-swiper-title,
    .m-step5 .branding-swiper-title {
        transform: scale(1) translateY(0);
    }

    .branding-swiper-title .em {
        animation: color-c 5000ms linear infinite;
    }

    .m-step2 .branding-swiper-title .em,
    .m-step3 .branding-swiper-title .em,
    .m-step4 .branding-swiper-title .em,
    .m-step5 .branding-swiper-title .em {
        animation: none;
    }

    .branding-swiper-item-list {
        position: relative;
        z-index: 1;
        opacity: 0;
        margin-top: 56px;
        display: flex;
        align-items: center;
        /*height: calc((var(--vh, 1vh) * 100) - 124px);*/
        overflow: visible;
        transition: opacity 500ms ease-out;
    }

    .m-step3 .branding-swiper-item-list,
    .m-step4 .branding-swiper-item-list,
    .m-step5 .branding-swiper-item-list {
        opacity: 1;
    }

    .branding-swiper-item {
        position: absolute;
        top: 0;
        left: 0;
        width: 308px;
        height: 308px;
        padding: 32px;
        border-radius: 16px;
        background: rgba(0, 0, 0, 0.60);
        opacity: 0;
        transition: opacity 500ms ease-out;
    }

    .branding-swiper-item:first-child {
        position: relative;
        z-index: 0;
        top: initial;
        left: initial;
        opacity: 1;
    }

    .m-step4 .branding-swiper-item:first-child,
    .m-step5 .branding-swiper-item:first-child {
        opacity: 0;
    }

    .branding-swiper-item:nth-child(2) {
        z-index: 1;
        transform: translateY(110%);
        opacity: 0.2;
        transition: opacity 500ms ease-out, transform 500ms ease-out;
    }

    .branding-swiper-item:last-child {
        z-index: 2;
        transform: translateY(110%);
        opacity: 0;
        transition: opacity 500ms ease-out, transform 500ms ease-out;
    }

    .m-step4 .branding-swiper-item:nth-child(2) {
        opacity: 1;
        transform: translateY(0);
    }

    .m-step5 .branding-swiper-item:nth-child(2) {
        opacity: 0;
        transform: translateY(0);
    }

    .m-step4 .branding-swiper-item:last-child {
        z-index: 1;
        transform: translateY(110%);
        opacity: 0.2;
    }

    .m-step5 .branding-swiper-item:last-child {
        opacity: 1;
        transform: translateY(0);
    }

    .branding-swiper-wrap {
        background-image: url('../img/cont/bg-1.jpg');
    }

    .m-step4 .branding-swiper-wrap {
        background-image: url('../img/cont/bg-2.jpg');
    }

    .m-step5 .branding-swiper-wrap {
        background-image: url('../img/cont/bg-3.jpg');
    }

    .page--branding .page-bottom,
    .page--branding .m-step1 .page-bottom {
        display: block;
    }

    .page--branding .m-step2 .page-bottom,
    .page--branding .m-step3 .page-bottom,
    .page--branding .m-step4 .page-bottom,
    .page--branding .m-step5 .page-bottom {
        display: block;
    }

    .page--branding .m-step5 .page-bottom {
        opacity: 1;
    }
}

/* zoom */
.layer-zoom {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
}

.layer-zoom-inner {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform: translate(-50%, -50%);
}

.zoom-wrap {
    position: relative;
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100);
}

.zoom-wrap video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#kommentform .form-feedback {
    display: none !important;
    padding: 0;
}

#kommentform .spam-indicator {
    display: none !important;
    padding: 0;
}

.agree-chk {
    margin-top: 24px;
    width: 460px;
    padding: 20px 24px;
    border-radius: 8px;
    background: var(--b);
}

@media screen and (max-width: 1024px) {
    .agree-chk {
        margin-top: 16px;
        width: 100%;
        padding: 16px 20px;
    }
}

.chk-item {
    width: 28px;
    height: 28px;
    cursor: pointer;
}

.chk-item .icon-d {
    display: block;
}

.chk-item .icon-c {
    display: none;
}

.chk-item.agree .icon-d {
    display: none;
}

.chk-item.agree .icon-c {
    display: block;
}

.agree-chk-top {
    position: relative;
    display: flex;
    align-items: center;
}

.agree-chk-label {
    margin-left: 12px;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 25.6px */
    letter-spacing: -0.384px;
}

.agree-icon {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    cursor: pointer;
}

.agree-icon svg {
    width: 28px;
    height: 28px;
}

.agree-chk-bottom {
    display: none;
    padding-top: 25px;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 22.4px */
    letter-spacing: -0.336px;
}

.agree-cont + .agree-cont {
    margin-top: 4px;
}

.agree-chk-bottom span {
    display: block;
    margin-top: 12px;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 19.2px */
    letter-spacing: -0.288px;
    opacity: 0.6;
}

@media screen and (max-width: 1024px) {
    .event-inner .page-title {
        padding-top: 32px;
    }

    .event-inner.switch {
        padding-top: 0;
    }

    .event-inner.switch .layer-event {
        padding-top: 32px;
    }

    .event-content {
        padding-top: 32px;
        height: calc(var(--vh, 1vh) * 100 - 400px);
    }

    .event-inner {
        overflow-y: auto;
    }
}

.page--event {
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.page--event::-webkit-scrollbar {
    display: none;
}

.page--event .event-inner {
    height: 100%;
}

.page-inner.event-inner.switch {
    height: auto;
}

.event-inner.switch .layer-event {
    height: auto;
}

.event-toast {
    position: fixed;
    z-index: 999;
    bottom: 48px;
    /*left: 50%;*/
    width: 460px;
    border-radius: 8px;
    background: #FFF;
    transition: opacity 0.8s;
    opacity: 0;
    display: none;
}

.event-toast-inner {
    padding: 20px 24px;
}

.event-toast .text {
    text-align: center;
    color: var(--b);
    font-size: 20px;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: -0.48px;
}

.layer-event {
    padding-top: 63px;
}

@media screen and (max-width: 1024px) {
    .event-toast {
        bottom: 39px;
        left: 24px;
        right: 24px;
        width: calc(100% - 48px);
        max-width: 460px;
        border-radius: 8px;
        background: #FFF;
        transition: opacity 0.8s;
        opacity: 0;
        display: none;
    }

    .event-toast-inner {
        padding: 17px 20px;
    }

    .event-toast .text {
        font-size: 14px;
        font-weight: 700;
        line-height: 160%; /* 22.4px */
        letter-spacing: -0.336px;
    }

    .layer-event {
        padding-top: 63px;
    }

    .page--event .event-inner {
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .event-inner.switch .layer-event {
        margin: 0 0 auto;
    }

    .event-inner.switch {
        position: fixed;
    }

    .event-inner .page-title {
        margin: auto 0 0;
    }

    .post-wrap {
        margin: auto;
        max-width: 460px;
    }

    .page-inner.event-inner.switch {
        height: 100%;
    }
}

.fade-effect {
    transition: opacity 500ms ease-out;
}

.phone-cont .layer-bottom,
.monitor-cont .layer-bottom {
    margin: auto auto 0;
    padding: 0;
}

@media screen and (max-width: 1024px) {
    .phone-cont .layer-bottom,
    .monitor-cont .layer-bottom {
        margin: auto auto 0;
        padding: 0 0 24px;
    }

    .career-item {
        margin-top: 0;
        display: block;
    }

    .layer--phone .layer-inner {
        height: 100%;
    }

    .layer--phone .layer-cont--d {
        display: block;
    }

    .phone-cont .layer-bottom {
        position: static;
        margin-top: 36px;
    }
}

.g-dim {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background: rgba(20, 25, 30, 0.60);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

@media screen and (min-width: 1024px) {
    .phone-cont .layer-bottom,
    .monitor-cont .layer-bottom {
        position: fixed;
        bottom: 48px;
        left: 50%;
        transform: translateX(-50%);
        height: auto;
    }
}

.event-dim {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background: rgba(20, 25, 30, 0.60);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.page-title {
    position: relative;
}

.layer-event {
    position: relative;
}

.page--event .page-bottom {
    position: relative;
}

.page--event .post-bottom {
    padding: 56px 0 48px;
}

input::placeholder,
textarea::placeholder {
    color: rgba(20, 25, 30, 0.40) !important;
}

.m-bg-front-fixed.layer3 {
    position: absolute;
    top: 0;
    left: 0;
}

/* split */
.page--ad header,
.page--app header,
.page--doll header {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.page--ad,
.page--app,
.page--doll {
    background-image: url('../img/cont/bg_day.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.layer--monitor,
.layer--phone,
.layer--app,
.layer--doll {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

@media screen and (max-width: 1024px) {
    .page--ad,
    .page--app,
    .page--doll {
        background-image: url('../img/cont/bg_day-m.png');
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }
}

.etc-dim {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background: rgba(20, 25, 30, 0.60);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.page--app .card-item {
    position: relative;
}

.card-link-btn {
    position: absolute;
    top: 42px;
    right: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px;
    height: 28px;
    line-height: 28px;
    border-radius: 36px;
    background: rgba(255, 255, 255, 0.20);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.384px;
}

.card-link-btn-icon {
    margin-left: 10px;
    display: block;
    width: 8px;
    height: 15px;
}

@media screen and (max-width: 1024px) {
    .card-link-btn {
        position: absolute;
        top: 32px;
        right: 30px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 10px;
        height: 28px;
        line-height: 28px;
        border-radius: 36px;
        background: rgba(255, 255, 255, 0.20);
        font-size: 16px;
        font-weight: 700;
        letter-spacing: -0.384px;
    }

    .card-link-btn-icon {
        width: 6px;
        height: 12px;
    }
}