@charset "utf-8";
/* CSS Document */
/*　ーー　ローディング画面　ーー　*/
#loading {
    position: relative;
    width: 100%;
    height: 100vh;
    background: #fffaf0;
    z-index: 999999;
}
#loading .loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
}
#loading p.logo {
    width: 40%;
    max-width: 200px;
    margin: 0 auto;
}
#loading figure.kakigoori {
    width: 30%;
    max-width: 150px;
    margin: 2% auto 0;
    transform-origin: bottom center; /* 回転の軸を下に */
    animation: swingHead 1s infinite alternate ease-in-out;
}
@keyframes swingHead {
    0% {
        transform: rotate(-3deg);
    }
    100% {
        transform: rotate(3deg);
    }
}
/*　ーー　雪を降らせる　ーー　*/
.falling {
    position: relative;
    overflow: hidden;
    z-index: 0;
}
.snowflake {
    position: absolute;
    top: -30px; /* 画面外から降らせる */
    pointer-events: none; /* クリックを無効化 */
    user-select: none; /* 選択不可 */
}
/*　ーー　ハンバーガーメニュー　ーー　*/
.openbtn{
	position: fixed;
    top: 10px;
    left: 10px;
	background: #ffffff;
	cursor: pointer;
    width: 48px;
    height: 48px;
	border-radius: 50%;
    box-shadow: 0px 0px 7px -5px #777777;
    z-index: 999;
}
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 50%;
	transform: translateX(-50%);
    height: 2px;
    border-radius: 5px;
	background: #241d1b;
  	width: 45%;
  }
.openbtn span:nth-of-type(1) {
	top:17px;	
}
.openbtn span:nth-of-type(2) {
	top:23px;
}
.openbtn span:nth-of-type(3) {
	top:29px;
}
.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 50%;
    transform: translate(-50%,6px) rotate(-45deg);
    width: 30%;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 50%;
    transform:  translate(-50%,-6px) rotate(45deg);
    width: 30%;
}
/*　ーー　/ハンバーガーメニュー　ーー　*/
/* スクロールダウンの位置 */
.scroll {
    position: absolute;
    right: 50%;
    top: -30px;
    writing-mode: vertical-rl;
}
/* 線のアニメーション部分 */
.scroll::before {
    animation: scroll 2s infinite;
    background-color: #595757;
    bottom: 0;
    content: "";
    height: 50px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 1px;
}
/* 線のアニメーション */
@keyframes scroll {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    51% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}