@charset "utf-8";
/* CSS Document */
/*.denim240_pc.css*/

/*----------- denim240_pc -----------*/
body{
    position: relative;
    margin: 0 auto ;
    text-align: center;
    width: 100%;
}

#hdr{
    position: relative!important;
    z-index: 200!important;
}
.fs-l-main{
    margin-top: -5px!important;
    max-width: 1800px!important;
}
.h2F{
    border-bottom: none!important;
}

.denim240{
    width: 100%;
    max-width: 1800px;
    position: relative;
    margin: -12vh auto 0;
    padding: 0;
    flex-wrap: wrap;
    display: flex;
    font-family: 'Roboto Condensed','Zen Kaku Gothic New', sans-serif;
    font-weight: 100;
}

.denim240 p, .denim240 div{
    width: 100%;
}
.denim240 ul, .denim240 li{
    list-style: none;
    margin: 0;
    padding: 0;
    justify-items: center;
}
#tit, .tex, .point{   
    width: 100%;
    margin: 0 auto 10%;
    padding: 0;
}
.denim240 .dashed{
    text-decoration: underline;
    text-decoration-style: dashed;
    text-decoration-color: #363755;
    text-underline-offset: 8px;
}
.tex02{
    margin: 10% 0 0;
}

.tex02 .tit01{
    margin: 5% auto 0;
}

.tex p,.tex02 p{
    line-height: 1.6;
    margin-bottom: 2%;
    font-size: 1.65vw;
    font-weight: 500;
}

.st{
    width:100%;
    position: relative;
    margin-bottom: 5%;
    margin-top: 20%;
}

.st02_pic {
    display: flex;
    height: 58%;
    margin-bottom: 10%!important;
}

.st02_03{
    z-index: 1;   
}
.st02_03 img{
    width: 72%!important;
}
.st02_04{
    width: 34%!important;
    z-index: 5;
    position: absolute;
    top: 40%;
    margin-left: 23%;
}
.st02_04 img{
    width: 68%!important;
}
.st02_05{
    width: 46%!important;
    z-index: 10;
    position: absolute;
    top: 62%;
    margin-left: 4%;
}
.st02_05 img{
    width: 68%!important;
}

.st03_06{
    z-index: 1;
}
.st03_06 img{
    width: 60%!important;
}
.st03_07{
    margin-left: 10%;
    margin-top: -42%;
    z-index: 5;
}
.st04_08{
    z-index: 1;
}
.st04_08 img{
    width: 65%!important;
}
.st04_09{
    margin-left: 5%;
    margin-top: -48%;
    z-index: 5;
}
.stt{
    position: relative;
    margin: 0 auto;
    z-index: 10;
}

.stt img, .obj img{
    width: 12%;
}

.obj{
    width: 100%!important;
    position: absolute;
    margin: -10% auto 0;
    z-index: 1;
}

#tit .tit{ 
    position: absolute;
    margin: 0 42%;
    animation-name: fadein;
    animation-duration: 0.6s;
    animation-direction: alternate;
    z-index:30;
}
@keyframes fadein{
    from{
    opacity: 0;
    transform: translatey(50px);
    }
    to{
    opacity: 0.1;
    transform: translatey(0);
    }
}

#tit .tit img{
    width: 55%;
}
#tit .tit_img_sp img{
    display: none;
}
#tit .tit_img_pc img{
    display: block;
}
.fadeout {
    animation: fadeOut 10s; /*keyframesで命名したものを使う。10秒間で消える*/
    animation-fill-mode: both; /*0%の時と100%の時の状態を保つ*/
}

@keyframes fadeOut {
    50% {
        opacity: 1; /*初めに存在する*/
    }
    100% {
        opacity: 0; /*最後に消える*/
    }
}

#tit p img{
    width: 100%;
}

#tit .img_pc{
    display: block;
}
#tit .img_sp{
    display: none;
}

#navi{
    display: block;
    position: fixed;
    right: 2%;
    bottom:2%;
    z-index: 200;
}

#navi .navi_logo img{
    width: 30%;
}
#navi .navi img{
    width: 5%;
    margin-top: 10%;
}

.denim240 .pic_conteiner,.denim240 .pic_conteiner2{
    width: 100%;
    margin: 5% auto 0;
    background-color: #fff;
    display: flex;
    position: relative;
    align-items: flex-start;
    /* padding: 2% 0 2%; */    
    /* flex-wrap: wrap;*/
}
.pic{
    display: flex;
    position: relative;
    padding-bottom: 1.2%;
    width: 100%;
    flex-wrap: wrap;
    margin: 0 1%;
}
.pic p img{
    width: 100%;
}
.pic p{
    flex-wrap: nowrap;
/*    flex: 2;*/
    text-align: left;
}
.pic h2,.pic div{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
/*    flex: 1;*/
}

.img01,.img02, .img03, .img04{
    display: flex;
    flex: 1;
}

.img02{
    flex-flow: column;
/*    row-gap: 10%;*/
}

.pic .photo{
    flex: 1;
    margin-left: 10%;
}
.pic .text{
    font-size: 0.85vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    flex: 2;
    padding: 1% 2%;
    margin: 5% 0;
}
.pic h2{
    font-size: 1.5vw;
    margin: 2% 0 1%;
}

.item{
    margin-bottom: 15%;
}
.denim240 .mt100{
    margin-top: 100vh!important;
}

.p01{
    margin-bottom: 5%;
}

/*----------------------------
pc版のみ表示
----------------------------*/
.pc{
    display: block;
}

.sp{
    display:none;  
}

/*----------------------------
footer_link　エリア
----------------------------*/
.footer_link{
    display: block;
    position: relative;
    background-color: #fff;
    padding: 5% 0 10%;
}

/*----------------------------
ボタン
----------------------------*/   
#allitems .btn{
    position: relative;
    display: block;
    width: fit-content!important;
    height: 20%;
    margin: 10% auto 5%;
    font-size: 1.6em;
    font-weight: bold;
    background-color: #4a617e;
    color: #fff;
    text-decoration: none;
    letter-spacing: 0.35vw;
    padding: 2% 6%;
}
#allitems .btn a{
    text-decoration: none!important;
}
#allitems .btn:hover {
    opacity: .7;
}

#allitems,
#follow{
    display: block;
    width: 100%;
    font-family: 'Roboto Condensed','Zen Kaku Gothic New', sans-serif;
}    


/*-- SNS --*/
#follow {
    display: block;
    width: 100%;
    position: relative;
    margin: 0;
    padding-bottom: 5%;
    }    
#follow div {
    margin: 2% auto 0;
    font-family: 'Roboto Condensed','Noto Sans JP','Zen Kaku Gothic New', sans-serif;
    position: revert;
    display: inline-block;
    padding: 0 16.5%;
    font-size: 1.5vw;
    font-weight: 300;
    line-height: 1.3;
    z-index: -1;
    text-align: center;
    letter-spacing: 0.15em;
    color: #4a617e;
}
#follow div:before, 
#follow div:after {
    content: '';
    top: 15%;
    display: inline-block;
    width: 8%;
    height: 0.2vh;
    background-color: #4a617e;
}
#follow div:before {
    position: absolute;
    left: 30%;
}
#follow div:after {
    position: absolute;
    right: 30%;
} 
#follow li{    
    display: inline-block;
    width: 45px;
    height: 45px;
    margin: 2% 0.5%;
    padding: 0;
    background-color: #4a617e;
    border-radius: 60%;
    }
#follow ul{
    padding-left: 0;
}
#follow img {
    padding: 0;
    width: 50%;
    margin: 25%;
}       
#follow img:hover {
    opacity: .7;
}
#ftr ul{
    text-align: left;
}


/*-------------------------------
            くるくる 
-------------------------------*/

#kurukuru01 ,#kurukuru02{
    animation: 3s rotation infinite;
}
@keyframes rotation{
  0%{ transform:rotateY(0);}
  25%{ transform:rotateY(180deg);}     
  50%{ transform:rotateY(360deg);}
  80%{ transform:rotateY(180deg); }    
  100%{ transform:rotateY(100deg); }
}

#kurukuru03, #kurukuru04 {
    animation: 5s rotation1 infinite;
}
@keyframes rotation1{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

#kurukuru05, #kurukuru06 {
    animation: 6s rotation2 infinite;
}
@keyframes rotation2{
  0%{ transform:rotate(360deg);}
  100%{ transform:rotate(0);}
}


#kurukuru07{
    animation: 10s rotation3 infinite;
}
@keyframes rotation3{
  0%{ transform:rotate(360deg);}
  25%{ transform:rotate(0);}
  50%{ transform:rotate(180deg);}
  75%{ transform:rotate(0);}
  100%{ transform:rotate(360deg);}    
}


/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.6s ease-in-out;
  transform: translateY(2px);
  opacity: 0;
}    
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

.scroll_up02 {
  transition: 0.3s ease-in-out;
  transform: translateY(2px);
  opacity: 0;
}    
.scroll_up02.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
scroll_down ｜上から下へ出現
----------------------------*/
.scroll_down {
  transition: 0.8s ease-in-out;
  transform: translateY(0);
  opacity: 0;
}    
.scroll_down.on {
  transform: translateY(5px);
  opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-200px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}
    
/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
} 
