﻿@charset "UTF-8";

/* ----ローディング（読み込み中）イメージ---- */

.block-loading {
  height: 100px;
  overflow: hidden;
}

.block-loading-vh {
  height: 100vh;
  position: relative;
}

.block-loading--balls {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 70px;
  height: 70px;
  background-color: transparent;
}

.block-loading--ball {
  width: 50%;
  height: 15px;
  position: absolute;
  top: calc(50% - 10px);
  transform-origin: 100% 50%;
  left: 0;
}

.block-loading--ball::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #333;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.block-loading--ball-1::before {
  animation: block-loading--keyframes 1s linear 0s infinite;
}

.block-loading--ball-2 {
  transform: rotate(45deg);
}

.block-loading--ball-2::before {
  animation: block-loading--keyframes 1s linear -0.125s infinite;
}

.block-loading--ball-3 {
  transform: rotate(90deg);
}

.block-loading--ball-3::before {
  animation: block-loading--keyframes 1s linear -0.25s infinite;
}

.block-loading--ball-4 {
  transform: rotate(135deg);
}

.block-loading--ball-4::before {
  animation: block-loading--keyframes 1s linear -0.375s infinite;
}

.block-loading--ball-5 {
  transform: rotate(180deg);
}

.block-loading--ball-5::before {
  animation: block-loading--keyframes 1s linear -0.5s infinite;
}

.block-loading--ball-6 {
  transform: rotate(225deg);
}

.block-loading--ball-6::before {
  animation: block-loading--keyframes 1s linear -0.625s infinite;
}

.block-loading--ball-7 {
  transform: rotate(270deg);
}

.block-loading--ball-7::before {
  animation: block-loading--keyframes 1s linear -0.75s infinite;
}

.block-loading--ball-8 {
  transform: rotate(315deg);
}

.block-loading--ball-8::before {
  animation: block-loading--keyframes 1s linear -0.875s infinite;
}

@keyframes block-loading--keyframes {
  0% {
    width: 15px;
    height: 15px;
    opacity: 1;
  }

  100% {
    width: 6px;
    height: 6px;
    opacity: 0.2;
    margin-left: 7px;
  }
}

/* ----ローディング（読み込み中）小サイズ イメージ---- */

.block-loading-min {
  height: auto;
}

.block-loading-min--balls {
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.block-loading-min--ball {
  width: 50%;
  height: 5px;
  position: absolute;
  top: calc(50% - 3px);
  left: 0;
  transform-origin: 100% 50%;
}

.block-loading-min--ball::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #535353;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.block-loading-min--ball-1::before {
  animation: block-loading-min--keyframes 1s linear 0s infinite;
}

.block-loading-min--ball-2 {
  transform: rotate(45deg);
}

.block-loading-min--ball-2::before {
  animation: block-loading-min--keyframes 1s linear -0.125s infinite;
}

.block-loading-min--ball-3 {
  transform: rotate(90deg);
}

.block-loading-min--ball-3::before {
  animation: block-loading-min--keyframes 1s linear -0.25s infinite;
}

.block-loading-min--ball-4 {
  transform: rotate(135deg);
}

.block-loading-min--ball-4::before {
  animation: block-loading-min--keyframes 1s linear -0.375s infinite;
}

.block-loading-min--ball-5 {
  transform: rotate(180deg);
}

.block-loading-min--ball-5::before {
  animation: block-loading-min--keyframes 1s linear -0.5s infinite;
}

.block-loading-min--ball-6 {
  transform: rotate(225deg);
}

.block-loading-min--ball-6::before {
  animation: block-loading-min--keyframes 1s linear -0.625s infinite;
}

.block-loading-min--ball-7 {
  transform: rotate(270deg);
}

.block-loading-min--ball-7::before {
  animation: block-loading-min--keyframes 1s linear -0.75s infinite;
}

.block-loading-min--ball-8 {
  transform: rotate(315deg);
}

.block-loading-min--ball-8::before {
  animation: block-loading-min--keyframes 1s linear -0.875s infinite;
}

@keyframes block-loading-min--keyframes {
  0% {
    width: 5px;
    height: 5px;
    opacity: 1;
  }

  100% {
    width: 2px;
    height: 2px;
    opacity: 0.2;
    margin-left: 2px;
  }
}

.sr-only {
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
