@charset "utf-8";
/*------------------------------------------------------------------------------------------
*
*
    link_sp.css
*
*
------------------------------------------------------------------------------------------ */
/* --------------------------------------------------------------------------------------------------------------
*
    max-width: 640px
*
-------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 640px) {

/*------------------------------------------------------------------------------------------
*
*
    min-width : 641px
*
*
------------------------------------------------------------------------------------------ */


/* --------------------------------------------------
*
    #top_visual
*
-------------------------------------------------- */
#top_visual{
    position: relative;
    z-index: 1;
}

#top_visual .img_slider{
    position: fixed;
    top: 0;
    left: 0;
}

#top_visual .img_slider div{
    width: 100vw;
    height: 100vh !important;
    border: none !important;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
    transform-style: preserve-3d;
    position: relative;
}

#top_visual .img_slider .inner{
    height: 100vh;
    overflow: hidden;
}

#top_visual .bg{
    width: 100vw;
    height: 100vh;
    line-height: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transform-origin: top;
    transition: transform .65s cubic-bezier(0.77, 0, 0.175, 1) .25s;
}

#top_visual .trans .bg{
    transform: scale(1.2) rotateX(15deg);
}

#top_visual .slick-current .bg{
    transform: scale(1) !important;
}

#top_visual .kv .pic.bg{ background-image:url(../images/link/pic_kv_sp.jpg);}
#top_visual .yodogawa .pic.bg{ background-image:url(../images/link/pic_yodogawa_sp.jpg);}

#top_visual img{
    display: none;
    line-height: 0;
}

#top_visual h1 img,
#top_visual .desc img{
    display: none;
}

#top_visual h1,
#top_visual .desc{
    width: 100vw;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0;
    position: absolute;
    top: -1.5%;
    left: 0;
    z-index: 10;
    transform-origin: bottom;
    transform: translateX(-25px) rotateY(-5deg);
    transition: opacity .25s ease 0s, transform .25s ease;
}

#top_visual .on h1,
#top_visual .on .desc{
    opacity: 1;
    transform: scale(1);
    transition: opacity .45s cubic-bezier(0.165, 0.84, 0.44, 1) 1.3s, transform .45s cubic-bezier(0.165, 0.84, 0.44, 1) 1.3s;
}

#top_visual.end .desc{ opacity: 0; transition: opacity .25s ease;}

#top_visual h1{ background-image:url(../images/link/img_kv_sp.png);}
#top_visual .desc{ background-image:url(../images/link/img_yodogawa_sp.png);}

#top_visual .ov{
    width: 100vw;
    height: 100vh;
    opacity: 0;
    background-color: rgba(255, 255, 255, .9);
    transition: transform .65s cubic-bezier(0.77, 0, 0.175, 1) .25s;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#top_visual .on .ov{
    opacity: 1;
    transform: scale(1);
    transition: opacity .35s cubic-bezier(0.165, 0.84, 0.44, 1) 1s, transform .35s cubic-bezier(0.165, 0.84, 0.44, 1) 1s;
}

#top_visual.end .ov{
    opacity: 0;
    transition: opacity .45s ease;
}

#top_visual .arrow{
    width: calc(86 / 640 * 100vw);
    max-width: 56px;
    opacity: 0;
    text-align: center;
    position: fixed;
    left: 50%;
    bottom: calc(20 / 640 * 100vw);
    z-index: 3;
    transform: translateY(-10px);
    transition: opacity .45s cubic-bezier(0.165, 0.84, 0.44, 1) 2s, transform .45s cubic-bezier(0.165, 0.84, 0.44, 1) 2s;
}

.on #top_visual .arrow{
    opacity: 1;
    transform: translateY(0);
    cursor: pointer;
}

#top_visual.end .arrow{
    opacity: 0;
    transform: translateY(15px);
    transition: opacity .35s ease .15s, transform .35s ease .15s;
}

#top_visual .arrow img{
    width: 100%;
    display: block !important;
    transform: translateX(-50%);
    transition: opacity .15s ease;
}

#top_visual .logo{
    width: 10%;
    min-width: calc(384px / 2 * .7);
    text-align: center;
    position: absolute;
    left: 50%;
    top: 2.34%;
    z-index: 3;
    transition: opacity .25s ease 1s;
}

#top_visual .on .logo{ opacity: 0;}

#top_visual .logo a img{
    width: 100%;
    display: block;
    transition: opacity .15s ease;
    transform: translateX(-50%);
}

#top_visual .logo a:hover img,
#top_visual .logo a.touch img{
    opacity: .7;
}

.is_pc #top_visual .arrow:hover img,
.is_sp #top_visual .arrow.touch img{
    opacity: .7;
}

.coming .kv:after{
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-image:url(../images/link/parts_coming_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    transform: translateY(10px);
    transition: opacity .45s cubic-bezier(0.165, 0.84, 0.44, 1) 2s, transform .45s cubic-bezier(0.165, 0.84, 0.44, 1) 2s;
}

.coming  .kv.on:after{
    opacity: 1;
    transform: translateY(0);
}


/* --------------------------------------------------
*
    #contents
*
-------------------------------------------------- */
#contents{
    margin: 0 0 calc(50 / 640 * 100vw) 0;
    overflow: hidden;
    text-align: center;
    background-color: rgba(255, 255, 255, .9);
    position: relative;
    z-index: 2;
}

#contents .sec{
    padding: calc(50 / 640 * 100vw) 0 0 0;
}

#contents h2{
    margin: 0 0 calc(30 / 640 * 100vw) 0;
}

#contents h2 img{
    width: 37.5%;
    max-width: calc(480px / 2);
}

#contents li img{
    width: 100%;
    max-width: 480px;
    transition: opacity .15s ease;
}

#contents ul{
    max-width: 900px;
    margin: 0 auto;
}

#contents li{
    padding: 0 calc(70 / 640 * 100vw);
    margin: 0 0 calc(50 / 640 * 100vw) 0;
}

#contents li a{
    opacity: 0;
    display: block;
}

.is_pc #contents li a:hover img,
.is_sp #contents li a.touch img{
    opacity: .7;
}


/* --------------------------------------------------
*
    footer
*
-------------------------------------------------- */
footer{
    margin: 0 0 0 0;
    padding: 0 0 calc(50 / 640 * 100vw) 0;
    text-align: center;
    overflow: hidden;
    background-color: rgba(255, 255, 255, .9);
    position: relative;
    z-index: 2;
}

footer .foot_banner{
    padding: 0 0 0 0;
}

footer .foot_banner img{
    width: 100%;
    max-width: 1000px;
}

footer .foot_share{
    padding: calc(50 / 640 * 100vw) 0;
}

footer .foot_share ul{
    max-width: 360px;
    margin: 0 auto;
    padding: 0 calc(30 / 640 * 100vw);
    display: flex;
    justify-content: space-between;
}

footer .foot_share li img{
    width: auto;
    height: calc(146px / 2);
}

footer .copyright img{
    width: calc(390px / 2);
}

footer a img{
    transition: opacity .15s ease;
}

.is_pc footer a:hover img,
.is_sp footer a.touch img{
    opacity: .7;
}

} /* ----- max-width: 640px ----- */
