﻿@charset "UTF-8";

/* ----アイコン画像---- */

.block-icon-image {
  width: 32px;
  padding-top: 32px;
  background-repeat: no-repeat;
  overflow: hidden;
  background-size: 29px auto;
  background-position: 50% 50%;
}

.block-icon-image-small {
  width: 22px;
  padding-top: 19px;
  background-repeat: no-repeat;
  overflow: hidden;
  background-size: 19px auto;
  background-position: 50% 50%;
}

.block-icon-image-double-small {
  width: 15px;
  padding-top: 15px;
  background-repeat: no-repeat;
  overflow: hidden;
  background-size: 12px auto;
  background-position: 0 50%;
}

.block-icon-image--commenting {
  background-image: url(../../img/sys/icon/white/commenting.png);
}

.block-icon-image--bullhorn {
  background-image: url(../../img/sys/icon/white/bullhorn.png);
}

.block-icon-image--line-chart {
  background-image: url(../../img/sys/icon/white/line-chart.png);
}

.block-icon-image--tv {
  background-image: url(../../img/sys/icon/white/tv.png);
}

.block-icon-image--cubes {
  background-image: url(../../img/sys/icon/white/cubes.png);
}

.block-icon-image--search {
  background-image: url(../../img/sys/icon/black/search.png);
}

.block-icon-image--envelope {
  background-image: url(../../img/sys/icon/black/envelope.png);
}

.block-icon-image--envelope-o {
  background-image: url(../../img/sys/icon/black/envelope-o.png);
}

.block-icon-image--columns {
  background-image: url(../../img/sys/icon/black/columns.png);
}

.block-icon-image--pencil-square-o {
  background-image: url(../../img/sys/icon/black/pencil-square-o.png);
}

.block-icon-image--sign-in {
  background-image: url(../../img/sys/icon/black/sign-in.png);
}

.block-icon-image--shopping-cart {
  background-image: url(../../img/sys/icon/black/shopping-cart.png);
}

.block-icon-image--desktop {
  background-image: url(../../img/sys/icon/white/desktop.png);
}

.block-icon-image--mobile-phone {
  background-image: url(../../img/sys/icon/white/mobile-phone.png);
}

.block-icon-image--spinner-pulse {
  background-image: url(../../img/sys/icon/spinner_pulse.png);
}

.block-icon-image--comments {
  background-image: url(../../img/sys/icon/black/comments.png);
}

.block-icon-image--user-o {
  background-image: url(../../img/sys/icon/black/user-o.png);
}

.block-icon-image--sign-out {
  background-image: url(../../img/sys/icon/black/sign-out.png);
}

.block-icon-image--check-square {
  background-image: url(../../img/sys/icon/black/check-square.png);
}

.block-icon-image--pencil-lg {
  background-image: url(../../img/sys/icon/black/pencil-lg.png);
}

.block-icon-image--shopping-basket {
  background-image: url(../../img/sys/icon/black/shopping-basket.png);
}

.block-icon-image--user-circle-o {
  background-image: url(../../img/sys/icon/black/user-circle-o.png);
}

.block-icon-image--calendar-check-o {
  background-image: url(../../img/sys/icon/black/calendar-check-o.png);
}

.block-icon-image--heart {
  background-image: url(../../img/sys/icon/black/heart.png);
}

.block-icon-image--heart-pink {
  background-image: url(../../img/sys/icon/heart_pink.png);
}

.block-icon-image--affix {
  background-image: url(../../img/sys/icon/affix.png);
}

.block-icon-image--rss-square {
  width: 30px;
  padding-top: 30px;
  background-repeat: no-repeat;
  overflow: hidden;
  background-size: 35px auto;
  background-position: 50% 50%;
  border-radius: 5px;
  background-image: url(../../img/sys/icon/white/rss-square.png);
  background-color: black;
}

.block-icon-image--angle-up:after {
  content: "";
  display: inline-block;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  width: 9px;
  height: 9px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -9px;
}

.block-icon-image--angle-down:after {
  content: "";
  display: inline-block;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  width: 9px;
  height: 9px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -6px;
}

.block-icon-image--angle-right:after {
  content: "";
  display: inline-block;
  border-top: 1px solid #888;
  border-right: 1px solid #888;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: 0 5px 10px 0;
}

.block-icon-image--angle-right-bold:after {
  content: "";
  display: inline-block;
  border-top: 2px solid black;
  border-right: 2px solid black;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: 0 5px 10px 0;
}

.block-icon-image--center {
  text-align: center;
}

.block-icon-image--center-inline-block {
  display: inline-block;
}

.block-icon-image--flex {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.block-icon-image--flex-align-left {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
}

.block-icon-image--flex-cell {
  vertical-align: middle;
}

.block-icon-image--flex-cell-margin {
  vertical-align: middle;
  margin: 7px 0 0 10px;
}

.block-icon-image--flex-cell-margin-right {
  margin-right: 10px;
}

.block-icon-image--table {
  display: table;
  width: 100%;
}

.block-icon-image--table-cell {
  display: table-cell;
  vertical-align: middle;
}

.block-icon-image--table-cell-text-align-center {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.block-icon-image--table-cell-left {
  display: table-cell;
  width: 100%;
  padding-left: 0;
  vertical-align: middle;
  text-align: left;
}

.block-icon-image--table-cell-angle-right {
  display: table-cell;
  padding-right: 5px;
  vertical-align: middle;
  text-align: left;
  cursor: pointer;
}

/* ----ローディング（読み込み中）イメージ---- */

.block-loading {
  height: 100px;
  position: relative;
  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: .2;
    margin-left: 7px;
  }
}


/* ----ローディング（読み込み中）小サイズ イメージ---- */

.block-loading-min {
  height: 24px;
  position: relative;
}
.block-loading-min--balls {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
}
.block-loading-min--ball {
  width: 50%;
  height: 5px;
  position: absolute;
  top: calc(50% - 3px);
  transform-origin: 100% 50%;
  left: 0;
}
.block-loading-min--ball::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #333;
  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: .2;
    margin-left: 2px;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
