html {
  font-family: 'Cormorant Garamond', 'Noto Serif JP', 'Yu Mincho', 'Hiragino Mincho Pro', serif;
}
/********************
animation setting
********************/
@-webkit-keyframes toploadingAnim{
    0%{
        width: 0;
    }
    100%{
        width: 100%;
        -webkit-transform: translate(100%);
        transform: translate(100%);
    }
}
@keyframes toploadingAnim{
    0%{
        width: 0;
    }
    100%{
        width: 100%;
        -webkit-transform: translate(200%);
        transform: translate(200%);
    }
}
@-webkit-keyframes toploadingAnim_text{
    0%{
        opacity: .8;
        color: #BDBDBD;
    }
    50%{
        opacity: 1;
        color: #947e50;

    }
    100%{
        opacity: .5;
        color: #BDBDBD;
    }
}
@keyframes toploadingAnim_text{
    0%{
        opacity: .8;
        color: #BDBDBD;
    }
    50%{
        opacity: 1;
        color: #947e50;
    }
    100%{
        opacity: .5;
        color: #BDBDBD;
    }
}



/********************
settings
********************/
::-moz-selection{
    background-color: #132d0c;
}
::selection{
    background-color: #132d0c;
}

html{
    font-family: 'Cormorant Garamond', 'Noto Serif JP', 'Yu Mincho', 'Hiragino Mincho Pro', serif;
    font-size: 14px;
    font-weight: 100;
    line-height: 1.75;
    position: relative;
}


/********************
loading effects
********************/
.toploadingAnim{
    z-index: 1800;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
}
.toploadingAnim_line {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1800;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  overflow: visible;
  pointer-events: none;
}
.toploadingAnim_line::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  width: 0; /* ← 最初は0幅 */
  height: 1px;
  background-color: #947e50;
  animation: toploadingAnim 2s ease-in-out 0.1s forwards;
  z-index: 1;
  transform: translateY(4px); /* ← 少し下へずらす（変えずにOK） */
}
.toploadingAnim_line:before{
    font-family: 'Cormorant Garamond', 'Noto Serif JP', 'Yu Mincho', 'Hiragino Mincho Pro', serif;
    font-size: 1.4em;
    font-weight: 100;
    font-style: normal;
    line-height: 1;
    display: block;
    content: 'Visuals Works';
    -webkit-animation: toploadingAnim_text 1s ease .1s infinite alternate both;
    animation: toploadingAnim_text 1s ease .1s infinite alternate both;
    letter-spacing: .1em;
    color: #BDBDBD;
    will-change: opacity;
}
.loaded .toploadingAnim_line{
    overflow: hidden;
    height: 0;
}
.loaded .toploadingAnim_line:after,
.loaded .toploadingAnim_line:before{
    -webkit-animation: none;
    animation: none;
}
.loaded .toploadingAnim_line:before{
    font-family: 'Cormorant Garamond', 'Noto Serif JP', 'Yu Mincho', 'Hiragino Mincho Pro', serif;
    font-weight: 100;
    font-size: 1.4em;
    font-style: normal;
    line-height: 1;
    content: 'creative@roastbeef';
}

.toploadingAnim:before,
.toploadingAnim:after{
    line-height: 1;
    position: fixed;
    z-index: 1000;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 50%;
    margin-right: auto;
    margin-left: auto;
    content: ' ';
    transition: all .3s cubic-bezier(.785, .135, .15, .86) 0s;
    transition-delay: .3s;
    background-color: #132d0c;

}
.toploadingAnim:before{
    top: 0;
}
.toploadingAnim:after{
    bottom: 0;
}

.loaded .toploadingAnim:before{
    height: 0;
    -webkit-transform: translateY(-1%);
    -ms-transform: translateY(-1%);
    transform: translateY(-1%);
}
.loaded .toploadingAnim:after{
    height: 0;
    -webkit-transform: translateY(1%);
    -ms-transform: translateY(1%);
    transform: translateY(1%);
}
