@charset "utf-8";

.intro{ position: fixed; inset: 0; z-index: 10000; margin: 0; display: grid; place-items: center; width: 100%; height: 100%; padding: 0; background: #928980 url('/images/main/intro-bg.jpg') no-repeat 50% / cover; border: 0;
    &.ended{ display: none; }
    &:not([open]){ scale: 0; opacity: 0; filter: blur(10px); visibility: hidden; }
    .enter-btn{ position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 23rem; width: 264rem; aspect-ratio: 1; padding-top: 1.2%; border-radius: 50%; font: 300 12rem var(--font-suit); text-align: center; text-transform: uppercase; }
    .svg{ position: absolute; inset: 0; transform: rotate(-90deg); transform-origin: center; display: block; width: 264rem; height: 264rem; }
    .circle{ fill: none; stroke: #fff; stroke-width: 1px; }
    .bar{ fill: none; stroke: #1e1d1d; stroke-width: 1px; stroke-linecap: round; stroke-dasharray: 183, 640; stroke-dashoffset: 0; }
    .logo{ display: block; width: 168rem; height: 29rem; }
    .txt{ letter-spacing: .2em; }
    @media(prefers-reduced-motion:no-preference){
        &{ transition: .6s, opacity .3s; }
        .svg{ animation: rotate 2.66s linear infinite; }
        .bar{ animation: intro-dash 2s linear infinite; }
    }
}
@keyframes rotate{
    100%{ rotate: 360deg; }
}
@keyframes intro-dash{
    0% { stroke-dasharray: 1, 1325; stroke-dashoffset: 0; }
    50% { stroke-dasharray: 589, 1325; stroke-dashoffset: -232; }
    100% { stroke-dasharray: 589, 1325; stroke-dashoffset: -822; }
}

.main{ position: relative; min-height: 50vh;
    .gutter-sizer{ width: var(--gap); }
    .link{ margin-bottom: var(--gap); display: block; width: calc((100% - (var(--gap)*(var(--index) - 1)))/var(--index)); }
    .link:not(.isShown){ opacity: 0; visibility: hidden; }
    .img{ display: block; width: 100%; height: auto; }
    .ajax-loading{ position: absolute; inset: 100% 0 auto; margin: 10rem auto 0; width: 84rem; height: 84rem; background: url('/images/main/ajax-loading.png') no-repeat 50% / contain;
        &.isHidden{ opacity: 0; visibility: hidden; }
        .svg{ position: absolute; inset: 0; transform: rotate(-90deg); transform-origin: center; display: block; width: 84rem; height: 84rem; }
        .circle{ fill: none; stroke: #fff; stroke-width: 1px; }
        .bar{ fill: none; stroke: #1e1d1d; stroke-width: 1px; stroke-linecap: round; stroke-dasharray: 183, 640; stroke-dashoffset: 0; }
    }
    @media(prefers-reduced-motion:no-preference){
        .ajax-loading .svg{ animation: rotate 2.66s linear infinite; }
        .ajax-loading .bar{ animation: ajax-dash 2s linear infinite; }
        .link{ transition: opacity .6s; }
    }
    @media(any-hover){
        .link.isShown:hover{ opacity: .6; }
    }
    @media(min-width:1280px){
        &{ --index: 4; }
    }
    @media(max-width:1279px) and (min-width:768px){
        &{ --index: 3; }
    }
    @media(max-width:767px){
        &{ --index: 2; }
    }
}


@keyframes ajax-dash{
    0% { stroke-dasharray: 1, 414; stroke-dashoffset: 0; }
    50% { stroke-dasharray: 184, 414; stroke-dashoffset: -72; }
    100% { stroke-dasharray: 184, 414; stroke-dashoffset: -257; }
