/*----------------------------
    アニメーション
-----------------------------*/

@keyframes floating {
    0%{opacity: 0;}
    100%{opacity: 1;}
}
@keyframes FadeIn{
    0%{opacity: 0; transform: scale(200%);}
    100%{opacity: 1; transform: scale(100%);}
}
@keyframes LeftFadeIn{
    0%{opacity: 0; transform: translateX(-100%);}
    100%{opacity: 1; transform: translateX(0%);}
}
@keyframes rightFadeIn{
    0%{opacity: 0; transform: translateX(200%);}
    100%{opacity: 1; transform: translateX(0%);}
}
@keyframes tate{
    0%{transform: translateY(0);}
    50%{transform: translateY(-5px);}
    100%{transform: translateY(0);}
}
@keyframes kakudai{
        0%{transform: scale3d(0);}
        70%{transform: scale3d(1.1, 1.1, 1.1);}
        100%{ transform: scale3d(0);}
   }
/*--------------------------------
マーカー
----------------------------------*/
.marker {
    background: -webkit-linear-gradient(left, #FFD800 70%, transparent 30%);
    background: -moz-linear-gradient(left, #FFD800 70%, transparent 30%);
    background: linear-gradient(left, #FFD800 70%, transparent 30%);
    background-repeat: no-repeat;
    background-size: 200% .8em; 
    background-position: 200% .8em;
    transition: 1s;
}
 
.marker.show{
    background-position: 0% .8em;
    transition: all 2s ease;
}
/*--------------------------------
パララクス
----------------------------------*/
.parallax-container {
    height: 15vh;
    overflow: hidden;
    position: relative;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin: 2em 0;
}
.parallax-image {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 200%;
    object-fit: cover;
    transform: translateY(-50%);
    will-change: transform;
}
@media screen and (max-width:599px){
  .parallax-container {height: 10vh;}
}
/*--------------------------------
プラン詳細内実績
----------------------------------*/
.horse-race-info {
    font-size: 2rem;
    margin-bottom:10px;
    display: flex;
    align-items: center;
    background-color: white;
    border: 1px solid #ccc;
    padding: .5em 1em;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
    opacity: 0;
    transform: translateX(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    box-shadow: 1px 1px 2px #d2d2d2;
}
.horse-race-date {
    margin-right: 10px;
    color: #888888;
    white-space: nowrap;
}
.horse-race-location {
    margin-right: 10px;
    font-weight: bold;
}
.horse-race-prize {
    font-weight: bold;
    margin-left: auto;
    font-size: 3rem;
}
.horse-race-icon{
    height: 20px;
}
.horse-race-info.show {
    opacity: 1;
    transform: translateX(0);
}
@media screen and (max-width:1000px){
.horse-race-info{font-size: 2vw;}
.horse-race-prize{font-size: 3vw;}
.horse-race-icon{height: 2vw;}
}
@media screen and (max-width:599px){
.horse-race-info{font-size: 2.9vw;}
.horse-race-prize{font-size: 3.38vw;}
.horse-race-icon{height: 2.9vw;}
}

/*---------------------------------------
詳細テキストアニメ１
-----------------------------------------*/
.animetext {
    font-weight: 600;
    /* margin: 100px 0 0; */
}
.animetext b {
    opacity: 0;
    display: inline-block;
}

.animetext b:nth-of-type(2) {
animation-delay: .05s;
}
.animetext b:nth-of-type(3) {
animation-delay: .1s;
}
.animetext b:nth-of-type(4) {
animation-delay: .15s;
}
.animetext b:nth-of-type(5) {
animation-delay: .2s;
}
.animetext b:nth-of-type(6) {
animation-delay: .25s;
}
.animetext b:nth-of-type(7) {
animation-delay: .3s;
}
.animetext b:nth-of-type(8) {
animation-delay: .35s;
}
.animetext b:nth-of-type(9) {
animation-delay: .4s;
}
.animetext b:nth-of-type(10) {
animation-delay: .45s;
}
.animetext b:nth-of-type(11) {
animation-delay: .5s;
}
.animetext b:nth-of-type(12) {
animation-delay: .55s;
}
.animetext b:nth-of-type(13) {
animation-delay: .6s;
}
.animetext b:nth-of-type(14) {
animation-delay: .65s;
}
.animetext b:nth-of-type(15) {
animation-delay: .7s;
}
.animetext b:nth-of-type(16) {
animation-delay: .75s;
}
.animetext b:nth-of-type(17) {
animation-delay: .8s;
}
.animetext b:nth-of-type(18) {
animation-delay: .85s;
}
.animetext b:nth-of-type(19) {
animation-delay: .9s;
}
.animetext b:nth-of-type(20) {
animation-delay: .95s;
}
.show b {
    color: #D4483A;
    opacity: 0;
    transform: translate(-300px, 0) scale(0);
    animation: sideSlide .5s forwards;
  }
  
  @keyframes sideSlide {
    60% {
      transform: translate(20px, 0) scale(1);
      color: #D4483A;
    }
  
    80% {
      transform: translate(20px, 0) scale(1);
      color: #D4483A;
    }
  
    99% {
      transform: translate(0) scale(1.2);
      color: #edfe2e;
    }
  
    100% {
      transform: translate(0) scale(1);
      opacity: 1;
      color: #D4483A;
    }
  }

/*--------------------------------------
タイトルアニメ(h3からh5)
-----------------------------------------*/
h3.titleBlack,h3.titleRed,h3.titleYellow{
    opacity: 0;
    transform: translateX(100px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
h3.titleBlack.show,h3.titleRed.show,h3.titleYellow.show{
    opacity: 1;
    transform: translateX(0);
}
h4.titleBlack,h4.titleRed,h4.titleYellow{
    opacity: 0;
    transform: translateX(100px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
h4.titleBlack.show,h4.titleRed.show,h4.titleYellow.show{
    opacity: 1;
    transform: translateX(0);
}
h5.titleBlack,h5.titleRed,h5.titleYellow{
    opacity: 0;
    transform: translateX(100px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    animation-delay: .5s;
}
h5.titleBlack.show,h5.titleRed.show,h5.titleYellow.show{
    opacity: 1;
    transform: translateX(0);
}
ul.pointList li{
    opacity: 0;
    transform: translateX(100px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
ul.pointList.show li{
    opacity: 1;
    transform: translateX(0px);
}

/*------------------------------------------
ローディングアニメ
-------------------------------------------*/
.ouro {
    position: relative;
    display:inline-block;
    height: 46px;
    width: 46px;
    margin: 1em;
    border-radius: 50%;  
    background: none repeat scroll 0 0 #DDDDDD; /* ベースの色 - 可変 */
    overflow:hidden;
    box-shadow: 0 0 10px rgba(0,0,0,.1) inset, 0 0 25px rgba(0,0,255,0.075);
}
.ouro:after {
    content: "";
    position: absolute;
    top: 9px; left: 9px;
    display: block;
    height: 28px; width: 28px;
    background: none repeat scroll 0 0 #F2F2F2;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(0,0,0,.1);
}
.ouro > span {
    position: absolute;
    height: 100%; width: 50%;
    overflow: hidden;
}
.left  { left:0   }
.right { left:50% }
.anim {
	position: absolute;
	left: 100%;
	top: 1px;
	height: 100%;
	width: 100%;
	border-radius: 999px;
	background: none repeat scroll 0 0 #d12727;
	opacity: 0.8;
	-webkit-animation: ui-spinner-rotate-left 3s infinite;
	animation: ui-spinner-rotate-left 3s infinite;
	-webkit-transform-origin: 0 50% 0;
	transform-origin: 0 50% 0;
}
.left .anim {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.right .anim {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    left: -100%;
    -webkit-transform-origin: 100% 50% 0;
    transform-origin: 100% 50% 0;
}
/* v2 */
.ouro2 .anim {
   -webkit-animation-delay:0;
   animation-delay:0;
}
.ouro2 .right .anim{
   -webkit-animation-delay: 1.5s;
   animation-delay: 1.5s;
}
/* v3 */
.ouro3 .anim {
   -webkit-animation-delay: 0s;
   -webkit-animation-duration:3s;
   -webkit-animation-timing-function: linear;
   animation-delay: 0s;
   animation-duration:3s;
   animation-timing-function: linear;
}
.ouro3 .right .anim{
   -webkit-animation-name: ui-spinner-rotate-right;
   -webkit-animation-delay:0;
   -webkit-animation-delay: 1.5s;
   animation-name: ui-spinner-rotate-right;
   animation-delay:0;
   animation-delay: 1.5s;
}
/* round variation */
.round .ouro:after {display:none }
/* double variation */
.double .ouro:after {
  height: 13px; width: 13px;
  left: 13px; top: 13px;
  border: 10px solid #fff;
  background: transparent;
  box-shadow: none;
}
@keyframes ui-spinner-rotate-right{
  0%{transform:rotate(0deg)}
  25%{transform:rotate(180deg)}
  50%{transform:rotate(180deg)}
  75%{transform:rotate(360deg)}
  100%{transform:rotate(360deg)}
}
@keyframes ui-spinner-rotate-left{
  0%{transform:rotate(0deg)}
  25%{transform:rotate(0deg)}
  50%{transform:rotate(180deg)}
  75%{transform:rotate(180deg)}
  100%{transform:rotate(360deg)}
}
@-webkit-keyframes ui-spinner-rotate-right{
  0%{-webkit-transform:rotate(0deg)}
  25%{-webkit-transform:rotate(180deg)}
  50%{-webkit-transform:rotate(180deg)}
  75%{-webkit-transform:rotate(360deg)}
  100%{-webkit-transform:rotate(360deg)}
}
@-webkit-keyframes ui-spinner-rotate-left{
  0%{-webkit-transform:rotate(0deg)}
  25%{-webkit-transform:rotate(0deg)}
  50%{-webkit-transform:rotate(180deg)}
  75%{-webkit-transform:rotate(180deg)}
  100%{-webkit-transform:rotate(360deg)}
}

/*----------------------------------------
OPアニメ
------------------------------------------*/
/*----------------------------------------
.opText {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 100px;
  animation: slide-out-container 4s cubic-bezier(0.97, 0.01, 0.36, 0.99) 2.8s;
  animation-fill-mode: forwards;
}
@keyframes slide-out-container {
  0% {height: 100vh;}
  40% {height: 100vh;}
  100% {height: 0%;}
}
.opArea {
  position: absolute;
  z-index: 9999999;
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 3s;-
  background-color: #EBCE46;
}
.text-wrapper {
  color: #fff;
  position: absolute;
}
.text {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 54px;
  line-height: 1.2;
}
.text-1,
.text-3,
.text-4,
.text-8,
.text-9,
.text-11 {
  color: #fff;
  -webkit-text-stroke: 1px #000;
}
@keyframes blink {
  0% {opacity: 0;}
  1% {opacity: 1;}
  99% {opacity: 1;}
  100% {opacity: 0;}
}
.text-1 {
  animation: blink 0.8s linear 0.9s, blink 0.8s linear 2s;
  opacity: 0;
}
.text-2 {
  animation: blink 0.8s linear 0.8s, blink 0.8s linear 2.1s;
  opacity: 0;
}
.text-3 {
  animation: blink 0.8s linear 0.7s, blink 0.8s linear 2.2s;
  opacity: 0;
}
.text-4 {
  animation: blink 0.8s linear 0.6s, blink 0.8s linear 2.3s;
  opacity: 0;
}
.text-5 {
  animation: blink 0.8s linear 0.5s, blink 0.8s linear 2.4s;
  opacity: 0;
}
.text-6 {
  animation: blink 0.8s linear 0.4s, blink 0.8s linear 2.5s,
    slide-out 1s linear 3.2s;
  opacity: 0;
}
.text-7 {
  animation: blink 0.8s linear 0.5s, blink 0.8s linear 2.4s;
  opacity: 0;
}
.text-8 {
  animation: blink 0.8s linear 0.6s, blink 0.8s linear 2.3s;
  opacity: 0;
}
.text-9 {
  animation: blink 0.8s linear 0.7s, blink 0.8s linear 2.2s;
  opacity: 0;
}
.text-10 {
  animation: blink 0.8s linear 0.8s, blink 0.8s linear 2.1s;
  opacity: 0;
}
.text-11 {
  animation: blink 0.8s linear 0.9s, blink 0.8s linear 2s;
  opacity: 0;
}
@keyframes slide-out {
  0% {opacity: 0;}
  1% {opacity: 1;}
  19% {opacity: 1;}
  20% {opacity: 0;}
  39% {opacity: 0;}
  40% {opacity: 1;}
  59% {opacity: 1;}
  60% {opacity: 0;}
  79% {opacity: 0;}
  80% {opacity: 1;}
  100% {opacity: 1;}
}
.opArea.hide{
  opacity: 0;
  visibility: hidden;
}
---------------------------------------------*/