@charset "UTF-8";
body {
    margin: 0;
    padding: 0;
    font-family: 'Arial',sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.65;
    font-size: 10px;
    font-weight: 400;
    color: #000;
}

a {
    color: #000;
    transition: all .25s ease-out;
}

.l-height12 {
    line-height: 1.2;
}

.l-height18 {
    line-height: 1.8;
}

.l-height20 {
    line-height: 2;
}

.l-height25 {
    line-height: 2.5;
}

.p-relative {
    position: relative;
}

.flex-wrap {
    display: flex;
    flex-wrap: wrap;
}

.flex-center {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.bg-gray {
    background: #f3f3f3;
}

.bg-yellow {
    background: #e3b41e;
}

.bg-white {
    background: #fff;
}

.light {
    font-weight: 300;
}

.medium {
    font-weight: 600;
}

.bold {
    font-weight: 700;
}

.italic {
    font-style: italic;
}

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

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

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

.text-white {
    color: #fff!important;
}

.text-gray {
    color: #848484!important;
}

.text-black {
    color: #000!important;
}

.text-yellow {
    color: #e3b41e!important;
}

.mx1000 {
    max-width: 1000px!important;
    margin-left: auto;
    margin-right: auto;
}

.mx860 {
    max-width: 860px!important;
    margin-left: auto;
    margin-right: auto;
}

.mx900 {
    max-width: 900px!important;
    margin-left: auto;
    margin-right: auto;
}

.mx760 {
    max-width: 760px!important;
    margin-left: auto;
    margin-right: auto;
}

.mx700 {
    max-width: 700px!important;
    margin-left: auto;
    margin-right: auto;
}

.mx600 {
    max-width: 600px!important;
    margin-left: auto;
    margin-right: auto;
}

.mx400 {
    max-width: 400px!important;
    margin-left: auto;
    margin-right: auto;
}



.pt10 {
    padding-top: 10px!important;
}

.pt15 {
    padding-top: 15px!important;
}

.pt20 {
    padding-top: 20px!important;
}

.pt30 {
    padding-top: 30px!important;
}

.pt40 {
    padding-top: 40px!important;
}

.pt50 {
    padding-top: 50px!important;
}

.pt60 {
    padding-top: 60px!important;
}

.pt70 {
    padding-top: 70px!important;
}

.pt80 {
    padding-top: 80px!important;
}

.pt90 {
    padding-top: 90px!important;
}

.pt100 {
    padding-top: 100px!important;
}

.pt120 {
    padding-top: 120px!important;
}

.pb10 {
    padding-bottom: 10px!important;
}

.pb15 {
    padding-bottom: 15px!important;
}

.pb20 {
    padding-bottom: 20px!important;
}

.pb30 {
    padding-bottom: 30px!important;
}

.pb40 {
    padding-bottom: 40px!important;
}

.pb50 {
    padding-bottom: 50px!important;
}

.pb60 {
    padding-bottom: 60px!important;
}

.pb70 {
    padding-bottom: 70px!important;
}

.pb80 {
    padding-bottom: 80px!important;
}

.pb90 {
    padding-bottom: 90px!important;
}

.pb100 {
    padding-bottom: 100px!important;
}

.pb120 {
    padding-bottom: 120px!important;
}

.mt10 {
    margin-top: 10px!important;
}

.mt15 {
    margin-top: 15px!important;
}

.mt20 {
    margin-top: 20px!important;
}

.mt30 {
    margin-top: 30px!important;
}

.mt40 {
    margin-top: 40px!important;
}

.mt50 {
    margin-top: 50px!important;
}

.mt60 {
    margin-top: 60px!important;
}

.mt70 {
    margin-top: 70px!important;
}

.mt80 {
    margin-top: 80px!important;
}

.mt90 {
    margin-top: 90px!important;
}

.mt100 {
    margin-top: 100px!important;
}

.mt120 {
    margin-top: 120px!important;
}

.mb10 {
    margin-bottom: 10px!important;
}

.mb15 {
    margin-bottom: 15px!important;
}

.mb20 {
    margin-bottom: 20px!important;
}

.mb30 {
    margin-bottom: 30px!important;
}

.mb40 {
    margin-bottom: 40px!important;
}

.mb50 {
    margin-bottom: 50px!important;
}

.mb60 {
    margin-bottom: 60px!important;
}

.mb70 {
    margin-bottom: 70px!important;
}

.mb80 {
    margin-bottom: 80px!important;
}

.mb90 {
    margin-bottom: 90px!important;
}

.mb100 {
    margin-bottom: 100px!important;
}

.mb120 {
    margin-bottom: 120px!important;
}

.fs11 {
    font-size: 11px!important;
}

.fs12 {
    font-size: 12px!important;
}

.fs13 {
    font-size: 13px!important;
}

.fs14 {
    font-size: 14px!important;
}

.fs15 {
    font-size: 15px!important;
}

.fs16 {
    font-size: 16px!important;
}

.fs18 {
    font-size: 18px!important;
}

.fs20 {
    font-size: 20px!important;
}

.fs22 {
    font-size: 22px!important;
}

.fs24 {
    font-size: 24px!important;
}

.fs26 {
    font-size: 26px!important;
}

.fs28 {
    font-size: 28px!important;
}

.fs30 {
    font-size: 30px!important;
}

@media only screen and (max-width: 767px) {
    
    .pc-flex {
        flex-direction: row;
    }
    .is-pc {
        display: none!important;
    }
    .pt10 {
        padding-top: 8px!important;
    }
    .pt15 {
        padding-top: 10px!important;
    }
    .pt20 {
        padding-top: 15px!important;
    }
    .pt30 {
        padding-top: 20px!important;
    }
    .pt40 {
        padding-top: 25px!important;
    }
    .pt50 {
        padding-top: 30px!important;
    }
    .pt60 {
        padding-top: 35px!important;
    }
    .pt70 {
        padding-top: 40px!important;
    }
    .pt80 {
        padding-top: 50px!important;
    }
    .pt90 {
        padding-top: 60px!important;
    }
    .pt100 {
        padding-top: 70px!important;
    }
    .pt120 {
        padding-top: 80px!important;
    }
    .pb10 {
        padding-bottom: 8px!important;
    }
    .pb15 {
        padding-bottom: 10px!important;
    }
    .pb20 {
        padding-bottom: 15px!important;
    }
    .pb30 {
        padding-bottom: 20px!important;
    }
    .pb40 {
        padding-bottom: 25px!important;
    }
    .pb50 {
        padding-bottom: 30px!important;
    }
    .pb60 {
        padding-bottom: 35px!important;
    }
    .pb70 {
        padding-bottom: 40px!important;
    }
    .pb80 {
        padding-bottom: 50px!important;
    }
    .pb90 {
        padding-bottom: 60px!important;
    }
    .pb100 {
        padding-bottom: 70px!important;
    }
    .pb120 {
        padding-bottom: 80px!important;
    }
    .mt10 {
        margin-top: 8px!important;
    }
    .mt15 {
        margin-top: 10px!important;
    }
    .mt20 {
        margin-top: 15px!important;
    }
    .mt30 {
        margin-top: 20px!important;
    }
    .mt40 {
        margin-top: 25px!important;
    }
    .mt50 {
        margin-top: 30px!important;
    }
    .mt60 {
        margin-top: 35px!important;
    }
    .mt70 {
        margin-top: 40px!important;
    }
    .mt80 {
        margin-top: 50px!important;
    }
    .mt90 {
        margin-top: 60px!important;
    }
    .mt100 {
        margin-top: 70px!important;
    }
    .mt120 {
        margin-top: 80px!important;
    }
    .mb10 {
        margin-bottom: 8px!important;
    }
    .mb15 {
        margin-bottom: 10px!important;
    }
    .mb20 {
        margin-bottom: 15px!important;
    }
    .mb30 {
        margin-bottom: 20px!important;
    }
    .mb40 {
        margin-bottom: 25px!important;
    }
    .mb50 {
        margin-bottom: 30px!important;
    }
    .mb60 {
        margin-bottom: 35px!important;
    }
    .mb70 {
        margin-bottom: 45px!important;
    }
    .mb80 {
        margin-bottom: 50px!important;
    }
    .mb90 {
        margin-bottom: 60px!important;
    }
    .mb100 {
        margin-bottom: 70px!important;
    }
    .mb120 {
        margin-bottom: 80px!important;
    }
    .fs11 {
        font-size: 10px!important;
    }
    .fs12 {
        font-size: 11px!important;
    }
    .fs13 {
        font-size: 12px!important;
    }
    .fs14 {
        font-size: 13px!important;
    }
    .fs15 {
        font-size: 14px!important;
    }
    .fs16 {
        font-size: 15px!important;
    }
    .fs18 {
        font-size: 16px!important;
    }
    .fs20 {
        font-size: 17px!important;
    }
    .fs22 {
        font-size: 18px!important;
    }
    .fs24 {
        font-size: 20px!important;
    }
    .fs26 {
        font-size: 22px!important;
    }
    .fs28 {
        font-size: 24px!important;
    }
    .fs30 {
        font-size: 24px!important;
    }
}

@media screen and (min-width: 768px) {
    body {
        font-size: 11px;
    }
    .is-sp {
        display: none!important;
    }
}

@media screen and (min-width: 1000px) {
    .br1000 {
        display: none;
    }
}


/* common */

body.open,
html.open {
    overflow: hidden;
}

body.open::after {
    opacity: 1;
}

#contents {
    overflow: hidden;
    width: 100%;
}

#wrapper {
    background: #fff;
    transition: all .5s linear;
}

#wrapper.tp {
    background: rgba(255, 255, 255, 0);
}

#bg-loading {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background: #fff;
    z-index: 999;
}

.underline {
    text-decoration: underline!important;
}

.credit {
    margin-top: 20px;
}

.credit li {
    margin-bottom: 2px;
    overflow: hidden;
}

.credit li div:not(:last-child) {
    display: inline-block;
    padding-right: 8px;
}

.buy, .btn-buy-a {
    float: right;
    transition: all .3s ease-out;
    text-decoration: underline;
}

.credit a[href=""] {
    pointer-events: none;
}

.credit a[href=""] .buy, .credit a[href=""] .btn-buy-a {
    text-decoration: none;
}

.credit a[href=""] .buy {
    color: #999;
}

.credit a div {
    transition: all .3s ease-out;
}

.credit a:hover div {
    color: #555;
}

@media screen and (max-width: 920px) {
    
    .credit li div:not(:last-child) {
        display: block;
    }

}

@media screen and (max-width: 767px) {
    
    .credit {
        margin-top: 16px;
    }
    
    .credit li div:not(:last-child) {
        display: inline-block;
    }

    
}

.inner {
    max-width: 1840px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
}

.small-inner {
    padding-left: 16%;
    padding-right: 16%;
}

.w50 {
    padding-left: 25%;
    padding-right: 25%;
}

.w58 {
    padding-left: 21%;
    padding-right: 21%;
}

.w74 {
    padding-left: 13%;
    padding-right: 13%;
}

.w80 {
    padding-left: 10%;
    padding-right: 10%;
}

.w88 {
    padding-left: 6%;
    padding-right: 6%;
}

.soon {
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    
    .img-inner {
        padding-left: 32px!important;
        padding-right: 32px!important;
    }
    
    .txt-inner {
        padding-left: 1.2%;
        padding-right: 1.2%;
    }
    
    .main-credit {
        padding-left: 6%;
        padding-right: 6%;
    }
    
    .p-name {
        font-size: 88%;
    }
    
}


/* ------------------------
common
------------------------ */

 body [data-aos=fade-up] {
    transform: translateY(20px);
}

.btn-primary {
    display: block;
    margin-left: auto;
    margin-right: auto;
    font-size: 17px;
    font-weight: 700;
    width: 312px;
    height: 64px;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
}

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

    .btn-primary:hover {
        background: #000;
        color: #fff;
    }

}

.main {
    background: #fff;
    box-shadow: 0px 0 8px 0px rgb(0 0 0 / 22%);
    padding-bottom: 80px;
    position: relative;
    z-index: 2;
}

.story .main {
    background: none;
    padding-bottom: 0;
}

.blur-outer .footer {
    background: #fff;
    position: relative;
    z-index: 1;
}

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

    .btn-primary {
        font-size: 12px;
        width: 225px;
        height: 46px;
        border: 1px solid #000;
        border-radius: 23px;
    }

}

/* ------------------------
header
------------------------ */

.header-bg {
    width: 100%;
    height: 45px;
    position: fixed;
    left: 0;
    top: 0;
    background: #fff;
    box-shadow: 0px 0 8px 0px rgb(0 0 0 / 22%);
    z-index: 10;
    transition: all .4s ease-out;
}

.index .header-bg, .story .header-bg {
    opacity: 0;
}

.index.scroll .header-bg, .story.scroll .header-bg {
    opacity: 1;
}

body.open .header-bg {
    opacity: 0!important;
}

.logo-whim {
    width: 126px;
    position: fixed;
    left: 20px;
    top: 22px;
    z-index: 10;
    transition: all .4s ease-out;
}

.logo-whim span {
    display: block;
    transform: translateY(-50%);
    position: relative;
}

.logo-whim img {
    transition: opacity .4s ease-out;
}


@media only screen and (min-width: 768px) {
    
    .logo-whim img:last-child {
        opacity: 0;
        position: absolute;
        left: 0;
        top: 0;
    }

    body.open .logo-whim img:first-child {
        opacity: 0;
    }

    body.open .logo-whim img:last-child {
        opacity: 1;
    }

}

.logo-rendezvous {
    width: 63px;
    position: fixed;
    left: 50%;
    top: 22px;
    z-index: 10;
    transition: all .4s ease-out;
}

.logo-rendezvous span {
    display: block;
    transform: translate(-50%, -50%);
}

.btn-menu {
    width: 20px;
    height: 15px;
    position: fixed;
    right: 16px;
    top: 14px;
    cursor: pointer;
    z-index: 10;
    transition: all .4s ease-out;
}

#key-top .btn-menu {
    position: absolute;
}

.btn-menu span, .btn-menu::after, .btn-menu::before {
    display: block;
    width: 100%;
    height: 1px;
    background: #000;
    transition: all .4s ease-out;
}

#key-top .btn-menu span, #key-top .btn-menu::after, #key-top .btn-menu::before {
    background: #fff;
}

#key-top .btn-menu {
    transform: translate(0);
}

.btn-menu span {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.btn-menu::after, .btn-menu::before {
    content: "";
    position: absolute;
    left: 0;
}

body.open .btn-menu span {
    opacity: 0;
}

.btn-menu::after {
    top: 0;
}

.btn-menu::before {
    bottom: 0;
}

body.open .btn-menu::after, body.open .btn-menu::before {
    background: #000;
}

body.open .btn-menu::after {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

body.open .btn-menu::before {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
}

.menu {
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    position: fixed;
    z-index: 9;
    opacity: 0;
    pointer-events: none;
    transition: all .4s ease-out;
}

body.open .menu {
    opacity: 1;
    pointer-events: auto;
}

.menu-top, .menu-bottom {
    height: calc(var(--vh, 1vh) * 50);
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0);
}

@media only screen and (min-width: 768px) {
    .menu-top:hover, .menu-bottom:hover {
        background: rgb(0, 0, 0, .08);
    }
}

.menu-bottom {
    border-top: 1px solid rgba(0, 0, 0, 0);
    transition: all .4s ease-out 0s;
}

body.open .menu-bottom {
    border-top: 1px solid rgba(0, 0, 0, 1.2);
}

#wrapper {
    transition: all .4s ease-out;
}

body.open #wrapper {
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -o-filter: blur(10px);
    -ms-filter: blur(10px);
    filter: blur(10px);
}

body {
    transition: all .4s ease-out;
}

body.open .menu {
    background: rgba(178, 178, 178, 0.7);
}


.menu-link-txt {
    font-size: 14px;
    transition: all .4s ease-out 0s;
    opacity: 0;
}

body.open .menu-bottom {
    transition: border .6s ease-out .7s, background .4s ease-out;
}

body.open .menu-link-txt {
    transition: all .6s ease-out 1.3s;
}

body.open .menu-link-txt {
    opacity: 1;
}

.menu-top .menu-link-txt span, .menu-bottom .menu-link-txt span {
    font-size: 19px;
}

.index .header-bg, .index .logo-whim, .index .logo-rendezvous, .index .btn-menu {
    transform: translateY(-45px);
}

.index.scroll .header-bg, .index.scroll .logo-whim, .index.scroll .logo-rendezvous, .index.scroll .btn-menu {
    transform: translateY(0);
}

body.open.index .header-bg, body.open.index .logo-whim, body.open.index .logo-rendezvous, body.open.index .btn-menu {
    transform: translateY(0);
}

@media only screen and (max-width: 767px) {
    
    .logo-whim {
        width: 90px;
    }
    
    .logo-rendezvous {
        width: 63px;
        left: 148px;
    }
    
    .logo-header p {
        
    }
}

/* ------------------------
footer
------------------------ */

.footer {
    display: flex;
    justify-content: space-between;
    padding: 15px 20px;
}

.footer a:hover {
    opacity: .6;
}

.menu .footer {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}

@media only screen and (max-width: 767px) {
    
    .footer {
        display: flex;
        justify-content: space-between;
        padding: 14px 20px;
    }

}

/* ------------------------
key
------------------------ */

.bg-img {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.bg-img img, .bg-img video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.key-movie-wrap {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute; /* fixed の場合。absolute でも同じ */
    right: 0;
    top: 0;
}

.key-movie-wrap iframe {
    box-sizing: border-box;
    height: 56.25vw; /* 16:9 の高さなので 56.25% (= 9 ÷ 16) */
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh; /* 16:9 の幅なので 177.77% (= 16 ÷ 9) */
}

#key-top {
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    position: relative;
}

#key-top a {
    display: block;
}

.logo-top-whim {
    width: 328px;
    position: absolute;
    left: 50%;
    top: 31.0%;
    transform: translate(-50%, -50%);
}

.logo-top-rendezvous {
    width: 218px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.txt-top-storylooks {
    width: 116px;
    position: absolute;
    left: 50%;
    bottom: 5.30%;
    transform: translateX(-50%);
}

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

    .logo-top-whim {
        width: 180px;
        position: absolute;
        left: 50%;
        top: 24.4%;
        transform: translate(-50%, -50%);
    }

    .logo-top-rendezvous {
        width: 185px;
        position: absolute;
        left: 50%;
        top: 44%;
        transform: translate(-50%, -50%);
    }

    .txt-top-storylooks {
        width: 108px;
        position: absolute;
        left: 50%;
        bottom: 4.2%;
        transform: translateX(-50%);
    }

}

/* ------------------------
top
------------------------ */

.top-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1160px;
    padding-left: 10.34%;
    padding-right: 10.34%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 135px;
    margin-bottom: 94px;
}

.top-box a > div {
    overflow: hidden;
}

.btn-top-story, btn-top-story {
    width: 43.47%;
    position: relative;
}

.view-more {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    transform: translateY(10px);
    opacity: 0;
    transition: all .3s ease-out;
}

.view-more span {
    display: block;
    width: 100%;
    line-height: 1;
    font-size: 19px;
}

.view-more span::after {
    content: "";
    display: block;
    width: 52.5%;
    height: 1px;
    background: #fff;
    transform: scaleX(0);
    opacity: 0;
    margin: 6px auto 0;
    transition: all .3s ease-out;
}

.btn-top-txt {
    text-align: center;
}

.btn-top-txt h3 {
    font-size: 19px;
    line-height: 1.4;
    margin-top: 18px;
}

.btn-top-txt p {
    font-size: 14px;
}

.top-contents-txt {
    font-size: 12px;
    margin-bottom: 90px;
}

@media only screen and (min-width: 768px) {
    
    .top-box a:hover img {
        transform: scale(105%);
    }
    
    .top-box a:hover .view-more {
        transform: translateY(0);
        opacity: 1;
    }

    .top-box a:hover .view-more span::after {
        opacity: 1;
        transform: scaleX(100%);
    }
}

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

    .top-box {
        display: block;
        padding-left: 0;
        padding-right: 0;
        margin-top: 20px;
        margin-bottom: 40px;
    }


    .btn-top-story, btn-top-story {
        display: block;
        width: 100%;
    }
    
    .btn-top-story {
        margin-bottom: 40px;
    }

    .view-more {
        display: none;
    }

    .btn-top-txt h3 {
        margin-top: 16px;
    }

    .top-contents-txt {
        margin-bottom: 40px;
        line-height: 1.8;
    }
    
}

/* ------------------------
story
------------------------ */

.story #wrapper {
    background: none;
}

@media only screen and (min-width: 768px) {
    
    .order1 {
        order: 1;
    }

    .order2 {
        order: 2;
    }

    .order3 {
        order: 3;
    }
    
}


/* ------------------------
key
------------------------ */

body.open .all-bg {
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -o-filter: blur(10px);
    -ms-filter: blur(10px);
    filter: blur(10px);
}

.story-key {
    width: 100%;
    padding-top: 49.78%;
}

.all-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background-image: url(../images/img_key_story_pc.jpg);
    background-size: contain;
    background-position: top;
    background-repeat: no-repeat;
    z-index: -1;
}

@media only screen and (max-width: 767px) {
    
    .all-bg {
        background-image: url(../images/img_key_story_sp.jpg);
    }
    
    .story-key {
        width: 100%;
        padding-top: 144%;
    }
    
}


/* ------------------------
item
------------------------ */

.story-bg {
    width: 100%;
    height: 100%;
    padding-top: 45px;
    object-fit: cover;
    object-position: center;
    position: absolute;
    left: 0;
    top: 0;
    transition: all 0s linear 0s!important;
}

.story-wrap {
    background: #fff;
    overflow: hidden;
}

.story-wrap:last-child {
    padding-bottom: 80px;
}

.bg-space {
    width: 100%;
    height: 680px;
}

@media only screen and (max-width: 767px) {
    
    [class^="box-inner"] {
        padding-bottom: 40px;
    }
    
    .story-box01 {
        padding-top: 70px;
    }
    
    .story-box04 {
        padding-top: 42px;
    }

    .story-box08 {
        padding-top: 42px;
    }
    
    .story-box11 {
        padding-bottom: 16px;
    }
    
    .story-bg02 {
        object-position: right center;
    }
    
    .story-wrap:last-child {
        padding-bottom: 60px;
    }
        
    .bg-space {
        width: 100%;
        height: 375px;
    }
    
    .img-slide .slick-dots {
        display: none!important;
    }

}

@media only screen and (min-width: 768px) {
    
    .pc-flex-wrap {
        display: flex;
        flex-wrap: wrap;
    }
    
    .story-box-img {
        padding-bottom: 20px;
        border-bottom: 1px solid #000;
    }

    .story-box01 {
        padding-top: 160px;
        padding-bottom: 160px;
    }
    
    .story-box01 .box-inner01 {
        width: 48.27%;
        margin-left: auto;
        margin-right: auto;
    }

    .story-box02 {
        margin-bottom: -190px;
    }
    
    .story-box02 .box-inner02 {
        width: 35.37%;
        margin-left: 3.17%;
        margin-right: 26.32%;
        margin-top: 140px;
        z-index: 10;
    }
    
    .story-box02 .box-inner01 {
        width: 25.26%;
    }

    .story-box03 {
        padding-bottom: 260px;
    }
    
    .story-box03 .box-inner02 {
        width: 25.64%;
        margin-left: 18.78%;
        margin-right: 14.93%;
        margin-top: 494px;
    }

    .story-box03 .box-inner01 {
        width: 39.22%;
    }

    .story-box04 {
        padding-top: 180px;
        padding-bottom: 220px;
    }

    .story-box04 .box-inner01 {
        width: 36.8%;
        margin-left: 16.14%;
        margin-right: 16.14%;
    }

    .story-box04 .box-inner02 {
        width: 25.26%;
        margin-top: 465px;
    }
    
    .story-box05 {
        padding-bottom: 220px;
    }

    .story-box05 .box-inner01 {
        width: 30.17%;
        margin-left: auto;
        margin-right: auto;
    }

    .story-box06 {
        padding-bottom: 160px;
    }

    .story-box06 .box-inner01 {
        width: 24.74%;
        margin-left: 8.07%;
        margin-right: 24.59%;
    }

    .story-box06 .box-inner02 {
        width: 36.35%;
    }
    
    .story-box07 {
        padding-bottom: 200px;
    }

    .story-box07 .box-inner01 {
        width: 51.43%;
        margin-left: auto;
        margin-right: auto;
    }
    
    .story-box08 {
        padding-top: 180px;
        padding-bottom: 210px;
    }

    .story-box08 .box-inner01 {
        width: 43.26%;
        margin-left: auto;
        margin-right: auto;
    }

    .story-box09 .box-inner01 {
        width: 27.38%;
        margin-left: 4.52%;
        margin-right: 23.45%;
        margin-bottom: 390px;
    }

    .story-box09 .box-inner02 {
        width: 42.61%;
        margin-top: 268px;
        z-index: 10;
    }
    
    .story-box10 {
        margin-top: -390px;
        padding-bottom: 230px;
    }

    .story-box10 .box-inner01 {
        width: 33.94%;
        margin-left: 8.82%;
    }
    
    .story-box11 {
        padding-bottom: 180px;
    }
    
    .story-box11 .box-inner01 {
        width: 48.27%;
        margin-left: auto;
        margin-right: auto;
    }
    
    .story-box {
        position: relative;
    }
    
    .img-story-para {
        position: absolute;
        opacity: .05;
    }
    

    .story-para01 {
        width: 36.50%;
        left: -20px;
        top: 472px;
    }
    
    .story-para02 {
        width: 31.15%;
        left: 50%;
        top: -126px;
    }

    .story-para03 {
        width: 25.64%;
        left: -20px;
        bottom: -146px;
    }

    .story-para04 {
        width: 32.73%;
        left: 65.16%;
        top: 742px;
    }

    .story-para05 {
        width: 51.43%;
        left: -20px;
        top: -187px;
    }

    .story-para06 {
        width: 36.80%;
        left: 46.00%;
        top: 74px;
    }

    .story-para07 {
        width: 48.27%;
        left: 4.52%;
        top: -290px;
    }

    .story-para08 {
        width: 32.81%;
        left: 48.27%;
        top: 67px;
    }

    .story-para09 {
        width: 27.22%;
        left: 67.27%;
        bottom: -340px;
    }
    
    .img-slide .slick-dots {
        width: 50%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        position: absolute;
        bottom: -21px;
        left: 0;
        transform: translateY(50%);
        height: 9px;
    }
    
    .img-slide .slick-dots button {
        width: 9px;
        height: 9px;
        text-indent: -9999px;
        overflow: hidden;
        border: 1px solid #000;
        background: #fff;
        box-shadow: border-box;
        padding: 0;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .img-slide .slick-active button::after {
        content: "";
        width: 4px;
        height: 4px;
        background: #000;
        border-radius: 50%;
    }

}


/* ------------------------
lools
------------------------ */

.looks-box-img {
    position: relative;
}

.anchor-item {
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    top: 50%;
}

.looks .credit {
    background: #fff;
    z-index: 3;
}

.numb {
    position: fixed;
    z-index: 3;
}

.numb div {
    background: #fff;
    padding-right: 4px;
}

.prog {
    display: flex;
    flex-wrap: wrap;
    position: fixed;
    z-index: 3;
}

.prog div {
    width: 6.666%;
    height: 7px;
}

.prog div:nth-child(1) {
    background: #eee;
}

.prog div:nth-child(2) {
    background: #ddd;
}

.prog div:nth-child(3) {
    background: #ccc;
}

.prog div:nth-child(4) {
    background: #bbb;
}

.prog div:nth-child(5) {
    background: #aaa;
}

.prog div:nth-child(6) {
    background: #999;
}

.prog div:nth-child(7) {
    background: #888;
}

.prog div:nth-child(8) {
    background: #777;
}

.prog div:nth-child(9) {
    background: #666;
}

.prog div:nth-child(10) {
    background: #555;
}

.prog div:nth-child(11) {
    background: #444;
}

.prog div:nth-child(12) {
    background: #333;
}

.prog div:nth-child(13) {
    background: #222;
}

.prog div:nth-child(14) {
    background: #111;
}

.prog div:nth-child(15) {
    background: #000;
}

.prog .act::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    mix-blend-mode: difference;
}

@media only screen and (max-width: 767px) {
    
    .looks .main {
        padding-top: 108px;
        padding-bottom: 60px;
    }
    
    .looks .credit {
        opacity: 1!important;
    }
    .numb {
        font-size: 30px;
        line-height: 1;
        left: 20px;
        top: 80px;
    }
    
    .numb div {
        transform: translateY(-50%);
        line-height: 1;
    }

    .prog {
        width: calc(100% - 93px);
        height: 7px;
        left: 73px;
        top: 80px;
    }
    
    .prog div {
        height: 6px;
        transform: translateY(-50%);
    }
    
    .sp-bg {
        width: 100%;
        height: 108px;
        background: #fff;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 2;
    }
    
    .looks .top-contents-btn {
        margin-top: 16px;
    }
    
}

@media only screen and (min-width: 768px) {
    
    .looks .main {
        padding-top: 45px;
        padding-bottom: 80px;
    }

    .looks-box-img {
        width: calc(76.61vh - 34px);
        height: 100%;
        margin-bottom: 20px;
    }
    
    .looks-box-img img {
        width: 100%;
    }

    .looks .credit {
        position: fixed;
        width: calc(100% - 76.61vh - 27px);
        height: 50vh;
        left: calc(76.61vh + 6px);
        top: 43px;
        pointer-events: none;
    }
    
    .looks .credit[data-aos^=fade][data-aos^=fade].aos-animate {
        pointer-events: auto;
    }
    
    .numb {
        font-size: 60px;
        line-height: 1;
        width: calc(100% - 76.61vh - 27px);
        left: calc(76.61vh + 6px);
        top: 50%;
        text-align: center;
    }

    .numb div {
        transform: translateY(-50%);
        line-height: 1;
    }

    .prog {
        width: calc(100% - 76.61vh - 27px);
        left: calc(76.61vh + 6px);
        bottom: 20px;
    }
    
    .prog.scroll {
        opacity: 0!important;
        pointer-events: none;
    }

    .prog div {
        height: 7px;
    }

    .sp-bg {
        width: 100%;
        height: 108px;
        background: #fff;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 2;
    }

    .sp-bg {
        display: none;
    }
    
    .looks .top-contents-btn {
        padding-top: 60px;
    }
    
}

@media only screen and (min-width: 1840px) {
    
    .looks .credit {
        max-width: calc(1840px - 76.61vh - 27px);
        position: fixed;
        left: auto;
        right: calc(50% - 900px);
        top: 43px;
    }
    
    .prog {
        max-width: calc(1840px - 76.61vh - 27px);
        left: auto;
        right: calc(50% - 900px);
        bottom: 20px;
    }
    
    .numb {
        max-width: calc(1840px - 76.61vh - 27px);
        left: auto;
        right: calc(50% - 900px);
    }
}