@charset "utf-8";




#kv .image {
    opacity: 1;
}



#kv .title{
    background-image: url(../img/kv_title.png);
}





#kv .spec {
    opacity: 0;
    transform: translateX(20px);
}

body.loadComplete #kv .spec {
    opacity: 1;
    transform: translateX(0px);
    transition-duration: 1000ms;
    transition-property: opacity, transform;
    transition-timing-function: cubic-bezier(0.165, 0.840, 0.440, 1.000);
    transition-delay: 800ms;
}



#kv .name {
    opacity: 0;
    transform: translateX(20px);
}

body.loadComplete #kv .name {
    opacity: 1;
    transform: translateX(0px);
    transition-duration: 1000ms;
    transition-property: opacity, transform;
    transition-timing-function: cubic-bezier(0.165, 0.840, 0.440, 1.000);
    transition-delay: 1000ms;
}





@media print,
screen and (min-width: 813px) {



    #kv .image span {
        background-image: url(../img/kv.jpg);
        background-position: center top;
    }

    
    #kv .title{
        width: calc(1226px / 2);
        height:calc(180px / 2) ;
    }

    #kv .spec{
        margin-top: 30px;
        font-size: 15px;
        line-height: 2em;
        letter-spacing: 0.1em;
    }

    #kv .name{
        font-weight: bold;
        font-size: 15px;
        line-height: 2em;
        letter-spacing: 0.1em;
    }
    
   
    #banners{
        margin-top: 144px;
        margin-bottom: 144px;
     
    }
    #banners .banner{
        width:848px ;
    }


    .talk{
        width: 1024px;
        margin-left: auto;
        margin-right: auto;
        position: relative;
    }


    .talk .shoulder{
        font-size: 24px;
        letter-spacing: 0.1em;
        color: #E30A7F;
        line-height: 1em;
        margin-bottom: 40px;
    }

    .talk h2{
        font-size: 32px;
        letter-spacing: 0.1em;
        line-height: 1.5em;
    }

 
    
    .talk .image{
        background-size: cover;
        background-position: center center;
    }

  
    .talk .texts{
        position: relative;
        z-index: 1;
    }

    .talk .hd{
        padding: 0px 88px;
        box-sizing: border-box;
    }


    .talk .body{
        padding: 56px 88px;
        background-color: #fff;
        font-size: 15px;
        line-height: 2.4em;
        box-sizing: border-box;
    }





    .talk1{
        margin-bottom: 120px;
    }

    .talk1 .image{
        background-image: url(../img/1.jpg);
        width: calc(992px / 2);
        height: calc(992px / 2);
        position: absolute;
        right: 0;
        top: 66px;
    }
  
   
    .talk1 .body{
        width: 672px;
    }
   





    .talk2{
        margin-bottom: 120px;
        padding-bottom: 50px;
    }

    .talk2 .image{
        background-image: url(../img/2.jpg);
        width: calc(992px / 2);
        height: calc(1018px / 2);
        position: absolute;
        left: 0;
        bottom: 0;
    }

    .talk2 .hd{
        margin-left: auto;
        width: 672px;
      }
     
    .talk2 .body{
        margin-left: auto;
        width: 672px;
    }
   

    .talk3 .hd{
        display: flex;
    }
    .talk3 .shoulder{
        margin-right: 80px;
    }
    .talk3 .image{
        margin-top: 50px;
        background-image: url(../img/3.jpg);
        width: calc(2048px / 2);
        height: calc(844px / 2);
      
    }
    
    .talk3 .body{
        width: 848px;
        margin-left: auto;
        margin-right: auto;
       margin-top: -70px;
      
    }




}



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

   
    #kv .image span {
        background-image: url(../img/kv_sp.jpg);
    }


    #kv .title{
        width: calc(42px / 180 * 1226 );
        height:calc(42px) ;
    }
    

    #kv .spec{
        margin-top: 12px;
        font-size: 12px;
        line-height: 2em;
        letter-spacing: 0.1em;
    }

    #kv .name{
        font-weight: bold;
        font-size: 12px;
        line-height: 2em;
        letter-spacing: 0.1em;
    }



   
    #banners{
         margin-top: 88px;
        margin-bottom: 116px;
       
    }


    
    .talk{
        margin-left: 48px;
        margin-right: 32px;
        position: relative;
    }


    .talk .shoulder{
        font-size: 16px;
        letter-spacing: 0.1em;
        color: #E30A7F;
        line-height: 1em;
        margin-bottom: 32px;
        margin-left: -32px;
    }

    .talk h2{
        font-size:20px;
        letter-spacing: 0.1em;
        line-height: 1.5em;
        margin-bottom: 32px;
    }

 
    
    .talk .image{
        margin-top: 32px;
        background-size: cover;
        background-position: center center;
    }

  
    .talk .texts{
        position: relative;
        z-index: 1;
    }

    .talk .hd{
        box-sizing: border-box;
    }


    .talk .body{
        font-size: 12px;
        line-height: 2.4em;
        box-sizing: border-box;
    }


    


    .talk1{
        margin-top: 90px;
        margin-bottom: 90px;
    }

    .talk1 .image{
        background-image: url(../img/1_sp.jpg);
        width: calc(100vw - 48px - 32px);
        height: calc( (100vw - 48px - 32px) / 608 * 400 );
    }
  
   


    .talk2{
        margin-bottom: 90px;
    }

    .talk2 .image{
        background-image: url(../img/2_sp.jpg);
        width: calc(100vw - 48px - 32px);
        height: calc( (100vw - 48px - 32px) / 608 * 400 );
      
    }

  
    
      
   
      
    .talk3 .image{
        background-image: url(../img/3_sp.jpg);
        width: calc(100vw - 48px - 32px);
        height: calc( (100vw - 48px - 32px) / 608 * 400 );
    }
  


}