@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

body,
hr,
p,
ul,
ol,
h1,
dl,
dt,
dd {
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4 {
    font-weight: 500;
    margin: 0;
    padding: 0;
}

li {
    list-style-type: none;
}

img {
    border: none;
    width: 100%;
    vertical-align: bottom;
}

hr {
    border-bottom: none;
}

a {
    color: #585858;
    text-decoration: none;
}

a:hover {
    /*opacity: 0.7;*/
}

/* ----------------- 共通 */

body {
    font-size: 16px;
    line-height: 1.8;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    -webkit-text-size-adjust: 100%;
    font-weight: 300;
    color: #282828;
    position: relative;
}

@media screen and (max-width: 768px) {

    body {
        min-width: auto;
    }
}

.is-pc {
    display: block;
}

.is-sp {
    display: none;
}

@media screen and (max-width: 768px) {

    .is-sp {
        display: block;
    }

    .is-pc {
        display: none;
    }

}


.loading {
    /*display: none;*/
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: #000;
    z-index:10000;
}

.loading .parts {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    /*width: 40px;*/
    height: 10px;
    font-size: 20px;
    color: #ccc;
    /*border-bottom: 1px solid #ccc;*/
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}

.dot-flashing {
    position: relative;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #762127;
    color: #ccc;
    animation: dotFlashing 1s infinite linear alternate;
    animation-delay: .5s;
}

.dot-flashing::before, .dot-flashing::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
}

.dot-flashing::before {
    left: -15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #000;
    color: #fff;
    animation: dotFlashing 1s infinite alternate;
    animation-delay: 0s;
}

.dot-flashing::after {
    left: 15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #CB0815;
    color: #fff;
    animation: dotFlashing 1s infinite alternate;
    animation-delay: 1s;
}

@keyframes dotFlashing {
    0% {
        background-color: rgba(203,8,21,.5);
    }
    50%,
    100% {
        background-color: #CB0815;
    }
}
