

.LinkSetWrap {
background-color: rgba(187,0,0,1.00);
color: rgba(255,255,255,1.00);
width: 100%;
padding-top: 5em;
letter-spacing: 0.1em;
padding-bottom: 5em;
display: flex;
position: relative;
flex-wrap: wrap;
justify-content: center;
flex-direction: column;
}
.LinkSetWrap h2 {
text-align: center;
font-family: 'milantyperev-r';
font-size: 2em;
font-weight: normal;
color: rgba(255,255,255,1.00);
width: 100%;
}
.LinkSetWrap p {
text-align: center;
color: rgba(0,0,0,1.00);
font-weight: bold;
line-height: 1.2em;
letter-spacing: normal;
margin-top: 0.5em;
}

.LinkSet {
padding-top: 2em;
display: flex;
flex-direction: column;
align-items: center;
}
.LinkSet ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.LinkSet li {
  margin-bottom: 10px;
}
.LinkSet li:last-child {
  margin-bottom: 0;
}
.LinkSet li a {
  padding: 1em 4em;
  background-color: #000000;
  color: #fff;
  text-decoration: none;
  transition: background-color 0.3s ease;
  display: flex;
  align-items: center;
  background-image: url('../img/Parts03.svg'); 
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: 10px center;
}
.LinkSet li a .Time {
font-size: 0.6rem;
margin-left: 1em;
letter-spacing: 0em;
}
.LinkSet li a:hover, .LinkSet li a:active {
background-color: #F05B5B;
}

.Campaign202403Wrap {
width: 100%;
background-image: url(../img/Campaign202403-BG.jpg);
background-repeat: repeat;
background-position: center top;
display: flex;
flex-direction: column;
align-items: center;
align-content: stretch;
}

.Campaign202403Set {
    margin-top: 1em;
    width: 90%;
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
}


/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .Campaign202403Set{
        -webkit-box-shadow: 0px 0px 2em rgba(255,51,159,1.00);
        box-shadow: 0px 0px 2em rgba(255,51,159,1.00);
    }
    .Campaign202403Set img{
        width: 100%;
    }
}
.Campaign202403Btn img{
width: 50%;
float: left;
}
.Campaign202403Set img{
	vertical-align:top;
}

.SS2023_01Set {
width: 100%;
display: table;
margin-left: auto;
margin-right: auto;
max-width: 700px;
}
.EventFormSS2023 {
text-align: center;
width: 100%;
	display: flex;
	position: relative;
	flex-wrap: wrap;
	justify-content: center;}

.EventFormSS2023Set {
    width: 44%;
    margin: 2%;
    border: 1px solid #000000;
    padding-top: 0.8em;
}

/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .EventFormSS2023Set{
        padding-bottom: 0.5em;
    }
}
.EventFormSS2023Set h3 {
color: rgba(0,0,0,1.00);
font-size: 1.0rem;
}


/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .EventFormSS2023Set p{
        font-size: 0.8rem;
    }
}

.EventFormSS2023Link p a {
    font-size: 0.9rem;
    background-color: #E0071B;
    color: #FFFFFF;
    margin: 5%;
    display: block;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    background-image: url(../img/Ss2023Vec_05.svg);
    background-repeat: no-repeat;
    background-position: right 0.2em center;
    background-size: 0.7em auto;
}

/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .EventFormSS2023Link p a{
        text-align: center;
    }
}
.EventFormSS2023Link p a:hover {
background-color: #94000C;
}
.EventFormSS2023Link.colorB p a {
background-color: #DB6B6F;
}
.EventFormSS2023Link p a:hover {
background-color: #D44F53;
}


.EventBnrWrap {
  display: flex;
  justify-content: center;
background-color: rgba(0,0,0,1.00);
}

.EventBnrCntSet {
    max-width: 960px;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    flex-grow: 0;
    flex-shrink: 1;
    display: flex;
}


/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .EventBnrCntSet{
        flex-direction: column;
        align-items: center;
    }
    .EventBnrCntSet a{
        margin-top: 0.25em;
        margin-right: 0.25em;
        margin-left: 0.25em;
        margin-bottom: 0.25em;
    }
}
#BSTop  {
width: 100%;
background-image: url(../img/PartsBSImg202303.jpg);
background-repeat: no-repeat;
aspect-ratio: 1 / 0.89;
background-size: 140% auto;
background-position: center 0%;
border-bottom: 3em solid rgba(0,0,0,1.00);
background-color: rgba(0,0,0,1.00);
}
#PageMenuBS01 {
background-color: #8D080A;
}
#PageMenuBS01 div ul {
width: 90%;
display: flex;
justify-content: center;
margin-left: auto;
margin-right: auto;
	flex-wrap: wrap;
padding-top: 0.7em;
padding-bottom: 0.5em;
}

#PageMenuBS01 div ul li   {
    -webkit-box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.30);
    box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.30);
}


/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    #PageMenuBS01 div ul li{
        margin-top: 0.0em;
        margin-bottom: 0.1em;
        margin-right: 0.5%;
        margin-left: 0.5%;
        width: 45%;
    }
    #PageMenuBS01 div ul li img{
        object-fit: cover;
        width: 100%;
        text-align: center;
        overflow: hidden;
        aspect-ratio: 16 / 5;
    }
    #ToppageSlider .SliderImg{
        background-size: 110% auto;
    }
    .SchoolPageCntSet .PageCnt02 iframe{
        height: clamp(14.0625rem, 60vw, 48rem);
    }
}
.PageMenuBS02Wrap {
background-repeat: no-repeat;
background-position: center center;
width: 100%;
}
.PageMenuBS02 {
width: 90%;
display: flex;
margin-left: auto;
margin-right: auto;
padding-top: 1em;
padding-bottom: 1em;
}


.ChampBnrSet {
width: 100%;
position: absolute;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
bottom: 0px;
display: table;
}
.ChampBnr1 {
width: 50%;
display: table;
float: left;
}
.ChampBnr1 a img {
width: 100%;
height: auto;
}
.ChampBnr2 {
width: 50%;
display: table;
float: left;
}
.ChampBnr2 a img {
width: 100%;
height: auto;
}

#Aniv10TabWrap {
background-color : rgba(201,12,14,1.00);
	color: rgba(255,255,255,1.00);
	width: 100%;
	padding-top: 5svh;
	float: left;
	padding-bottom: 5svh;
}
	

.TabSet01 {
    position: relative;
    width: clamp(21.0938rem, 90vw, 72rem);
    margin-left: auto;
    margin-right: auto;
    padding-top: 1em;
    padding-bottom: 1em;
}

/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .TabSet01{
        overflow: hidden;
    }
}
.tab-wrap {
	display: flex;
	flex-wrap: wrap;
}
.tab-label {
color: #ffffff;
background-color : #CF1D20;
white-space: nowrap;
text-align: center;
order: -1;
position: relative;
z-index: 1;
cursor: pointer;
flex: 1;
padding: clamp(0.4688rem, 2vw, 1.6rem);
box-sizing: border-box;
border-right: 1px solid #FFFFFF;
border-top: 1px solid #FFFFFF;
border-left: 1px solid #FFFFFF;
	font-family: 'milantyperev-r';
	font-size: clamp(0.8203rem, 3.5vw, 2.8rem);
}
.tab-label a {
	color: #ffffff;
}
.tab-label a p, .tab-label a p:visited  {
	position: relative;
	line-height: 1em;
}
.tab-content {
	width: 100%;
	height: 0;
	overflow: hidden;
	opacity: 0;
	background-color: rgba(255,255,255,0.90);
	color: #ffffff;
}
.tab-content h2 {
	text-align: center;
	font-family: 'milantyperev-r';
	margin-top: 0.5em;
	font-size: clamp(0.9375rem, 4vw, 3.2rem);
	line-height: 1.2em;
	font-weight: normal;
	color: rgba(0,0,0,1.00);
}

.tab-content p {
    text-align: center;
    color: rgba(201,12,14,1.00);
    margin-bottom: 1.5em;
}

/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .tab-content p{
        font-size: clamp(0.7031rem, 3vw, 2.4rem);
    }
}
.tab-switch:checked+.tab-label {
background: #ffffff;
color: rgba(201,12,14,1.00);
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
}
.tab-switch {
  display: none;
}

	
.TabListNewsCnt {
float: left;
width: calc(96%/2);
	margin: 1%;
background-color: rgba(0,0,0,1.00);
overflow-x: hidden;
overflow-y: hidden;
position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
.TabListNewsCntImg {
width: 100%;
text-align: center;
overflow: hidden;
}
.TabListNewsCntImg img {
float: left;
}

.TabListNewsCntTitle  {
    position: absolute;
    z-index: 60;
    bottom: clamp(0.2344rem, 1vw, 0.8rem);
    pointer-events: none;
    text-align: center;
    margin-left: 0.5em;
    margin-right: 0.5em;
    line-height: 1.2em;
    font-weight: bold;
    letter-spacing: normal;
    color: rgba(255,255,255,1.00);
}

/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .TabListNewsCntTitle{
        font-size: clamp(0.7031rem, 3vw, 2.4rem);
    }
}
.TabListNewsCntLabel  {
font-size: clamp(0.3516rem, 1.5vw, 1.2rem);
position: absolute;
z-index: 60;
top: clamp(0.2344rem, 1vw, 0.8rem);
pointer-events: none;
text-align: center;
margin-left: 0.5em;
margin-right: 0.5em;
line-height: 1.2em;
letter-spacing: normal;
color: rgba(255,255,255,1.00);
padding: 0.3em;
background-color: rgba(201,12,14,0.80);
}
.TabListNewsCntLabel:empty  {
  display: none;
}

	
	
	
.Ani10thNumerWrap {
	background-color: rgba(0,0,0,1.00);
	color: rgba(255,255,255,1.00);
	width: 100%;
	padding-top: 10svh;
	float: left;
	letter-spacing: 0.1em;
	padding-bottom: 50px;
}
.NumerSet {
display: table;
margin-left: auto;
margin-right: auto;
width: 90%;
height: 300px;
}
.Ani10thNumerWrap h2 {
	text-align: center;
	font-family: 'milantyperev-r';
	font-size: clamp(0.9375rem, 4vw, 3.2rem);
	font-weight: normal;
	color: rgba(255,255,255,1.00);
}
.FutureMessagecontainer {
margin-right: auto;
margin-left: auto;
width: 90%;
height: 300px;
position: relative;
}
.FutureMessagewordList > li a {
text-align: center;
position: absolute;
color: #d6bc47;
font-weight: bold;
font-size: 5em;
font-family: 'milantyperev-r';
display: block;
font-feature-settings: "palt";
letter-spacing: -0.1em;
line-height: 1em;
text-shadow: 0px 0px 0.2em rgba(0,0,0,0.60);
}
.Numer3675 {
text-align: center;
color: #ffffff;
font-weight: bold;
font-size: 2em;
letter-spacing: 0.5em;
font-family: 'milantyperev-r';
display: table;
background-color: rgba(214,188,71,0.60);
font-feature-settings: "palt";
line-height: 1em;
padding-top: 0.2em;
padding-right: 0.2em;
padding-left: 0.7em;
padding-bottom: 0.1em;
box-shadow: 0px 0px 1em rgba(0,0,0,0.80);
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
@-webkit-keyframes horizontal {
    0% { transform:translateX( -80px); }
  100% { transform:translateX(  0px); }
}
@-webkit-keyframes vertical {
    0% { transform:translateY(-30px); }
  100% { transform:translateY(  0px); }
}
.FutureMessagewordList li {
animation: horizontal 10s ease-in-out infinite alternate;
-webkit-animation: horizontal 10s ease-in-out infinite alternate;
list-style-type: none;
}
.FutureMessagewordList li a {
  animation: vertical 10s ease-in-out infinite alternate;
  -webkit-animation: vertical 10s ease-in-out infinite alternate;
}
.FutureMessagewordList li:nth-child(1) { animation-duration: 1.1s}
.FutureMessagewordList li:nth-child(2n) { animation-duration: 1.3s}
.FutureMessagewordList li:nth-child(3n) { animation-duration: 2.5s}
.FutureMessagewordList li:nth-child(4n) { animation-duration: 2.1s}
.FutureMessagewordList li:nth-child(5n) { animation-duration: 3.5s}
.FutureMessagewordList li:nth-child(6n) { animation-duration: 3.7s}	
	
	
	
	
	
	
	
	
	


.Aniv10NewsWrap {
	background-color: rgba(0,0,0,1.00);
	color: rgba(255,255,255,1.00);
	width: 100%;
	padding-top: 5svh;
	float: left;
	letter-spacing: 0.1em;
	padding-bottom: 5svh;
}
.Aniv10NewsWrap h2 {
	text-align: center;
	font-family: 'milantyperev-r';
	font-size: clamp(0.9375rem, 4vw, 3.2rem);
	font-weight: normal;
	color: rgba(255,255,255,1.00);
}

.Aniv10NewsWrap p {
    text-align: center;
    color: rgba(201,12,14,1.00);
}

/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .Aniv10NewsWrap p{
        font-size: clamp(0.7031rem, 3vw, 2.4rem);
    }
}
.Aniv10NewsCntSet {
	margin-top: 3svh;
	display: table;
	width:98%;
	padding-left: 1%;
	padding-right: 1%;
}

.Aniv10NewsCnt {
    float: left;
    width: calc(90%);
    background-color: rgba(0,0,0,1.00);
    overflow-x: hidden;
    overflow-y: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .Aniv10NewsCnt{
        margin-top: 0%;
        margin-right: 5%;
        margin-left: 5%;
        margin-bottom: 2%;
    }
}

.Aniv10NewsCntImg {
    width: 100%;
    text-align: center;
    overflow: hidden;
}

/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .Aniv10NewsCntImg{
        height: clamp(7.0312rem, 30vw, 24rem);
        object-fit: cover;
    }
}
.Aniv10NewsCntImg img {
float: left;
}
.Aniv10NewsCntTitle {
position: absolute;
z-index: 60;
bottom: clamp(0.2344rem, 1vw, 0.8rem);
pointer-events: none;
text-align: center;
margin-left: 0.5em;
	margin-right: 0.5em;
	line-height: 1.2em;
	font-weight: bold;
	letter-spacing: normal;
}
.BlockFloatLink10th  {
height: 100%;
width: 100%;
position: absolute;
left: 0px;
top: 0px;
z-index: 50;
background-color: rgba(207,0,14,0.70);
background-image: url(../img/Parts10th-svg02.svg);
background-position: center center;
background-size: auto 40%;
background-repeat: no-repeat;
}
.BlockFloatLink10th:hover {
	left: 0px;
	top: 0px;
	opacity: 0.0;
	background-color: rgba(0,0,0,0.0);
	transform: scale(1.5);
	-webkit-transition: 1s;
	transition: 1s;
}


#Ani10thTop {
width: 100%;
height: 100%;
background-image: url(../img/Img10th-01.jpg);
background-position: center center;
background-size: cover;
}

.Ani10thMessage {
    background-color: rgba(0,0,0,1.00);
    color: rgba(255,255,255,1.00);
    text-align: justify;
    padding-top: clamp(3.5156rem, 15vw, 12rem);
    padding-bottom: clamp(3.5156rem, 15vw, 12rem);
}


/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .Ani10thMessage{
        padding-left: clamp(2.3438rem, 10vw, 8rem);
        padding-right: clamp(2.3438rem, 10vw, 8rem);
        font-feature-settings: "palt";
    }
    .Ani10thMessage img{
        width: 100%;
        margin-bottom: 2em;
    }
    .Ani10thVideo{
        width: 100%;
    }
}
.Ani10thInnerWrap {
margin-left: auto;
margin-right: auto;
line-height: 2.2em;
font-size: clamp(0.7031rem, 3vw, 2.4rem);
}
.MainVideo {
position: relative;
overflow-x: hidden;
overflow-y: hidden;
}
.video-box {
position: relative;
overflow: hidden;
width: 100%;
height: clamp(17.5781rem, 75vw, 60rem);
overflow-x: hidden;
overflow-y: hidden;
}
.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
}


/* SP のみ(PC 側に対応する宣言が無いため max-width に残す) */
@media (max-width: 767px) {
    .video{
        width: 100%;
        background-color: rgba(207,0,14,1.00);
    }
}
.overlay::after {
position: absolute;
top: 0%;
left: 0%;
display: block;
width: 100%;
height: 100%;
content: "";
}


@media (min-width: 768px){


.LinkSet li a .Time {
        font-size: 0.7rem;
    }


.Campaign202403Set {
        margin-top: 5em;
        width: 450px;
        margin-bottom: 3em;
    }


    
    

.SS2023_01Set {
        width: 80%;
    }

.EventFormSS2023Set {
        width: 40%;
    }
.EventFormSS2023Set h3 {
        font-size: 1.2rem;
    }
.EventFormSS2023Link p a {
        font-size: 1.2rem;
        background-position: right 0.7em center;
        background-size: 1.1em auto;
    }
.EventFormSS2023Link p a:hover {
    background-color: #94000C;
}


    


.EventBnrCntSet {
        padding-top: 1em;
        padding-bottom: 1em;
        flex-basis: auto;
        justify-content: center;
    }
.EventBnrCntSet a {
    margin: 2em;
}

    
    
    
    
    
    
    
    
    
    
    
    
    

#BSTop  {
        aspect-ratio: 1 / 0.62;
        background-size: 100% auto;
    }

#PageMenuBS01 div ul {
        max-width: 960px;
        width: 80%;
        flex-wrap: ap;
        padding-top: 2em;
        padding-bottom: 2em;
    }
#PageMenuBS01 div ul li   {
        margin: 0.5em;
    }

.PageMenuBS02 {
        width: 50%;
        padding-top: 5em;
        padding-bottom: 5em;
    }
.PhiloCntSet a .BSimg {
    width: 50%;
    display: flex;
    margin-left: auto;
    margin-right: auto;
    max-width: 500px;
}

.ChampBnrSet {
        width: 80%;
        bottom: 40px;
    }
.ChampBnr1 {
        width: 48%;
        margin-right: 2%;
    }

.ChampBnr2 {
        width: 48%;
        margin-left: 2%;
    }


#Aniv10TabWrap {
        padding-top: 10svh;
        letter-spacing: 0.1em;
        padding-bottom: 10svh;
    }
	
.TabSet01 {
        padding-top: 2em;
        padding-bottom: 2em;
    }

.tab-label {
        font-size: clamp(0.4688rem, 2vw, 1.6rem);
    }
.tab-label:first-child {
    border-left: 1px solid #000000;
}


.tab-content h2 {
        margin-top: 1em;
        font-size: clamp(0.7031rem, 3vw, 2.4rem);
    }
.tab-content p {
        margin-bottom: 2em;
    }

.tab-switch:checked+.tab-label+.tab-content {
        overflow-y: hidden;
        overflow-x: hidden;
    }


	
.TabListNewsCnt {
        width: calc(94%/3);
    }
.TabListNewsCntImg {
        aspect-ratio: 16 / 9;
    }


.TabListNewsCntLabel  {
        font-size: clamp(0.3047rem, 1.3vw, 1.04rem);
    }


	
	

.Ani10thNumerWrap {
        padding-bottom: 100px;
    }
.NumerSet {
        width: 640px;
        height: 400px;
    }

.FutureMessagecontainer {
        max-width: 960px;
        width: 100%; /* 3b: 768〜 の実幅ではみ出さないように */
        height: 400px;
    }
.FutureMessagewordList > li a {
        font-size: 10em;
    }
.Numer3675 {
        font-size: 3em;
        background-color: #D6BC47;
    }
@-webkit-keyframes horizontal {
    0% { transform:translateX( -30px); }
  100% { transform:translateX(  0px); }
}
@-webkit-keyframes vertical {
    0% { transform:translateY(-30px); }
  100% { transform:translateY(  0px); }
}
.FutureMessagewordList li {
        animation: horizontal 5s ease-in-out infinite alternate;
        -webkit-animation: horizontal 5s ease-in-out infinite alternate;
    }
.FutureMessagewordList li a {
  animation: vertical 5s ease-in-out infinite alternate;
  -webkit-animation: vertical 5s ease-in-out infinite alternate;
}


	
	
	
	
	
	
	
	
	


.Aniv10NewsWrap {
        padding-top: 10svh;
        padding-bottom: 10svh;
    }


.Aniv10NewsCntSet {
        margin-top: 6svh;
    }
.Aniv10NewsCnt {
        width: calc(94%/3);
        margin: 1%;
    }


#Ani10thTop {
        height: clamp(16.4062rem, 70vw, 56rem);
    }
.Ani10thMessage {
        text-align: center;
        padding-top: clamp(2.3438rem, 10vw, 8rem);
        padding-bottom: clamp(2.3438rem, 10vw, 8rem);
    }
.Ani10thInnerWrap {
        max-width: 960px;
        width: 100%; /* 3b: 768〜 の実幅ではみ出さないように */
        line-height: 3.2em;
        font-size: 0.9rem;
    }

.video-box {
        position: relative;
        width: 100%;
        height: clamp(17.5781rem, 75vw, 60rem);
    }

.overlay::after {
        position: absolute;
        width: 100%;
        height: 100%;
    }


}


AAAAAA____Aniv10AnimationSet____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA {
}

#Loading {
    display: flex;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 5000;
    background-color: rgba(224,7,27,1);
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
#Loading img {
    color: #fff;
    z-index: 600;
    transition: 1.5s;
    -webkit-transition: 1.5s;
    animation: topcatch 3s forwards;
    position: relative;
    height: 60%;
}
@keyframes topcatch {
  0% {
    clip-path: polygon(0 0, 0 0, 0 0);
  }
  25% {
    clip-path: polygon(0 0, 0 0, 0 0);
  }
  100% {
    clip-path: polygon(0 0, 200% 0, 0 200%);
  }
}


.RevealSetA {
    position: relative;
    display: table;
    overflow-x: hidden;
    overflow-y: hidden;
}
.RevealCntA img {
		opacity: 0.0;
}
.RevealCntA.RevealClsA img {
	animation: RevealBimg 1s forwards;
    z-index: 90;
	opacity: 1;
    height: auto;
	float: left;
}
.RevealCntA.RevealClsA::before {
    content: '';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(224,7,27,0.80);
    animation: RevealBX 1s forwards;
    z-index: 100;
}
.RevealCntA.RevealClsA::after {
    content: '';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(224,7,27,0.9);
    animation: RevealBY 1s forwards;
    z-index: 100;
}
@keyframes RevealBimg  {
	0% {
		opacity: 0.0;
		filter: brightness(100%);
	}
	50% {
		opacity: 0.0;
		filter: brightness(100%);
	}
	60% {
		opacity: 1;
		filter: brightness(100%);
	}
	95% {
		opacity: 1;
		filter: brightness(100%);
	}
	100% {
		filter: brightness(100%);
	}
}
@keyframes RevealBX  {
	0% {
		transform: translateX(-100%);
	}
	20% {
		transform: translateX(0%);
	}
	70% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(-100%);
	}
}
@keyframes RevealBY {
	0% {
		transform: translateY(-100%);
	}
	20% {
		transform: translateY(-100%);
	}
	30% {
		transform: translateY(0%);
	}
	50% {
		transform: translateY(0%);
	}
	70% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(-100%);
	}
}
