.page_title{
    position: relative;
    height:60px;
    width:400px;
    font-size:50px;
    color: #ffffffe0;
    text-shadow: 2px 2px 5px #b3b3b3;
}

.page_title::before{
    content: "";
    position: absolute;
    bottom: 0;
    width: 0%;
    border-top: 1px solid #000000;
    transition: width 10s ease;
    animation: lineGrow1 1s ease forwards;
}

.page_title::first-letter{
    color:rgb(248, 113, 113);
}

@keyframes lineGrow1 {
  0% {
    width: 0%;
  }
  100% {
    width: 100%; /* 希望の長さに指定（50%や100%など） */
  }
}

#art_menu{
    display:flex;
    height:55px;   
    width:100%;
    flex-direction: row;
    justify-content: flex-end;
}

#art_menu div:first-child{
    display:flex;
    position: relative;
    width:80%;
    justify-content: flex-end;
}

#art_menu div:first-child::after{
    content: "";
    position: absolute;
    top: 0;
    left:0;
    height:0%;
    width: 0%;
    pointer-events: none;
    animation: lineGrow2 1.5s ease forwards;      
}

@keyframes lineGrow2 {
  0% {
    height:0%;
    width: 0%;
    border-left: 1px solid rgba(0, 0, 0, 0);
    border-bottom: 1px solid rgba(0, 0, 0, 0);
  }
  20%{
    height:0%;
    width: 0%;
    border-left: 1px solid rgba(0, 0, 0, 0);
    border-bottom: 1px solid rgba(0, 0, 0, 0);
  }
  25%{
    height:0%;
    width: 0%;
    border-left: 1px solid #000000;
    border-bottom: 1px solid #000000;
  }
  50%{
    height:100%;
    width:0%;
    border-left: 1px solid #000000;
    border-bottom: 1px solid #000000;
  }
  100% {
    height:100%;
    width: 100%;
    border-left: 1px solid #000000;
    border-bottom: 1px solid #000000;
  }
}


.is-preload{
  transition: none !important;
}

.art_menu_btn{
    display: inline-block;
    width:160px;
    text-align:center;
    font-size:20px;
    margin-right:20px;
    line-height: 48px;
    cursor: pointer;
    opacity: 0;
    transition: opacity 1.5s ease;
}



.art_menu_btn:hover{
    background-color: #dddddd;
    color:rgb(255, 255, 255);
    --border-top:1px solid #aaaaaa;
    border-left:1px solid #aaaaaa;
    border-right:1px solid #aaaaaa;
}

#mainArt{
    height:500px;
    width:500px;
}



.art_menu_btn.selected {
    background-color: aquamarine;
    border-top:1px solid #aaaaaa;
    border-left:1px solid #aaaaaa;
    border-right:1px solid #aaaaaa;
}

.art_Container{
    display:flex;
    height:75vh;
    width:100%;
    flex-direction: column;
    opacity: 1;
    transition: opacity 0.2s ease; /* 0.5秒かけて変化 */
    margin-top:40px;
}

.artfade-out {
  opacity: 0;
}

.mainboxes{
    display:flex;
    width:100%;
    height:25vh;
    justify-content: center;
}
.mainbox{
    color:#494949;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
}
.mainbox div{
 margin-left:100px;
 margin-right:100px;
}


.subbox{
    position: relative;
    display:flex;
    flex-direction: row;
    height:auto;
    width:100%;
}


#artlist{
    display:flex;
    flex-direction: row;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    user-select: none;
    -webkit-user-select: none;
    scrollbar-width: none;
    padding-left:calc(50% - 200px);
    padding-right:calc(50% - 200px);
}
#artlist::-webkit-scrollbar {
  display: none;
}

#artlist::before {
  content: "";
  width: 15%;
  height: 100%;
  display: block;
  background: linear-gradient(to right, rgba(0,0,0,0), #fcfcfc);
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
}

#artlist::after {
  content: "";
  width: 15%;
  height: 100%;
  display: block;
  background: linear-gradient(to left, rgba(0,0,0,0), #fcfcfc);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}


.listDate{
    display:flex;
    height:450px;
    width:450px;
    margin:20px;
    -webkit-user-drag: none;
    cursor:pointer ;
}

.scrollnavi{
    top:220px;
    height:50px;
    width:50px;
    justify-content: center; /* 左右の中央揃え */
    align-items: center;     /* 上下の中央揃え */
    font-size:40px;
    color:#ffffff;
    border-radius: 50px;
    text-shadow:0px 0px 5px #000000b9;
    pointer-events: none;
}

#L{
    display: none;
    position:absolute;
    left:10px;
    padding-right:20px;
}
#R{
    display: flex;
    position:absolute;
    right:10px;
    padding-left:20px;
}

