@charset "utf-8";
.wrap {
    overflow: hidden;
}

main {
    position: relative;
}

:root {
    --grid-size: 40px;
    /* マスの大きさ */
    --grid-color: rgba(255,255,255,0.5);
    /* 細い線の色 */
    --grid-bold-color: rgba(255,255,255,0.5);
    /* 太い線の色（5マスごと等） */
    --bg-color: #F6EFF9;
    /* 背景色 */
}

body {
    margin: 0;
    min-height: 100vh;
    background-color: var(--bg-color);
    /* 細い線の方眼 */
    background-image: linear-gradient(to right, var(--grid-color) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px);
    background-size: var(--grid-size) var(--grid-size);
}

/*ローディング画面*/
.loading-wrapper { 
    position: fixed;
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100vh; 
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 9999;
} 

.bg-logo {
    max-width: 400px;
    animation: fadeIn 0.8s;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    15% {
        opacity: 0.15;
    }
    25% {
        opacity: 0.25;
    }
    50% {
        opacity: 0.5;
    }
    75% {
        opacity: 0.75;
    }
    90% {
        opacity: 0.85;
    }
    100% {
        opacity: 1;
    }
}
/*終わり*/  


/*タブレット*/
@media (max-width: 1024px) {  
/*共通設定*/
/*終わり*/  

/*<header class="header">*/
/*終わり*/ 
}
  
  
/*スマホ*/
@media (max-width: 599px) {
/*共通設定*/
/*終わり*/ 


/*ローディング画面*/
    .bg-logo {
        max-width: clamp(calc(280px), calc(320 / 599 * 100vw), 320px);
    }
/*終わり*/  

}
