@charset "UTF-8";
.mv{
	
}
.mvArea{
	position: relative;
	background-color: #000;
}
.mv p.tx{
	font-size: 1.5rem;
	padding-top: .2em;
	text-align: center;
}
.mv p.play{
	position: absolute;
	width: 13%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.mv p.play img{
	width: 100%;
	height: auto;
}
/*-----------------------------------------------
	main
-----------------------------------------------*/
.topMain{
	
}
.topMainArea{
	max-width: 1920px;
	margin: 0 auto;
	width: 100%;
	
}
.topMain h3 img{
	width: 100%;
	height: auto;
}
.topMain h3 img.spim{
	display: none;
}
/*-----------------------------------------------
	top
-----------------------------------------------*/
.top_first{
	width:100%;
	overflow:hidden;
	background-color:#000;
	background-image: url("../img/main.jpg");
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
}
.top_first p.topCopy{
	text-align: right;
	font-size: 12px;
}
.topArea_first{
	position:relative;
	max-width: 1400px;
	width: 94%;
	margin: 0 auto;
	padding: 8em 0 1em;
}

.topArea_first h2 img{
	width: 100%;
	height: auto;
}
.topArea_first h2{
	margin: 0 auto 8em;
	max-width: 600px;
	width: 60%;
}
.topArea_first p.com{
	width: 84%;
	margin: 0 auto 15em;
}
.topArea_first p.com img{
	width: 100%;
	height: auto;
}
.top_first .logoArea{
	padding-bottom: 3em;
}
.top_first ul.reds-logoTop{
	display: flex;
	width: 250px;
	margin: 0 auto;
	background-color: #fff;
	padding: 1em 0;
}
.top_first ul.reds-logoTop li{
	width: 50%;
	text-align: center;
}
.top_first ul.reds-logoTop li img{
	height: auto;
	width: 70%;
}
.top_first ul.reds-logoTop li:last-child{
	border-left: 1px solid #666;
}
/*-----------------------------------------------
	about
-----------------------------------------------*/
.about{
	padding: 15em 0 5em;
	background-image: url("../img/about_bg.jpg");
	background-repeat: no-repeat;
	background-size: 70%;
	background-position: top 440px left -30%;
}
.about h3{
	font-family: "Barlow Condensed", sans-serif;
	font-style: normal;
	font-weight: 500;
	text-align: center;
	color: #E6002D;
	font-size: 7.2rem;
	line-height: 1;
	margin-bottom: 2.5em;
}
.about h3 span{
	color: #fff;
	margin-right: .3em;
}
.about ul.about01{
	display: flex;
	flex-wrap: wrap;
	column-gap: 4%;
	justify-content: center;
	width: 90%;
	margin: 0 auto;
	padding-bottom: 5em;
}
.about ul.about01 li{
	width: 46%;
}
.about ul.about01 p.tx{
	font-size: 1.6rem;
	line-height: 2;
}
.about ul.about01 .mv p.tx{
	font-size: 1.4rem;
	text-align: right;
}
.about ul.about02{
	display: flex;
	flex-wrap: wrap;
	column-gap: 0;
	row-gap:5em;
	justify-content: center;
	width: 86%;
	margin: 0 auto;
}
.about ul.about02 li{
	width: 96%;
}
.about ul.about02 p.at{
	border-top: 1px solid #fff;
	padding-top: 1em;
	margin-top: 2em;
}
.about ul.about02 p.title{
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	background-color: #fff;
	color: #E6002D;
	font-size: 1.8rem;
	margin-bottom: 3em;
	line-height: 2.4em;
	position: relative;
}
.about ul.about02 p.title:after,
.about ul.about02 p.title:before{
    display: block;
    content: '';
    position: absolute;
    top:0;
    border-top: 1.3em solid #000;
    border-bottom: 1.3em solid #000;
    border-right: 1.3em solid transparent;
    border-left: 1.3em solid transparent;
}
.about ul.about02 p.title:after{ left: -1.3em; }
.about ul.about02 p.title:before{ right: -1.3em; }
.about ul.about02 p.sub{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	text-align: center;
	font-size: 1.8rem;
	margin-bottom: 1.5em;
}
.about ul.about02 p.sub br{
	display: none;
}
.about ul.about02 p.att{
	font-size: 1.3rem;
}
.about ul.about02 p.tx{
	font-size: 1.4rem;
	line-height: 1.8;
}
.about ul.about02 p.tx a:link{
	color: #fff;
	text-decoration: underline;
}
.about ul.about02 p.tx a:visited{
	color: #fff;
	text-decoration: underline;
}
.about ul.about02 p.tx a:hover{
	color: #fff;
	text-decoration: none;
	opacity: .8;
}
.about .about03{
	
}
.about .about03 p.title{
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	background-color: #fff;
	color: #E6002D;
	font-size: 1.8rem;
	margin-bottom: 1.5em;
	line-height: 2.4em;
	position: relative;
}

.about .about03 p.title:after,
.about .about03 p.title:before{
    display: block;
    content: '';
    position: absolute;
    top:0;
    border-top: 1.3em solid #000;
    border-bottom: 1.3em solid #000;
    border-right: 1.3em solid transparent;
    border-left: 1.3em solid transparent;
}
.about .about03 p.title:after{ left: -1.3em; }
.about .about03 p.title:before{ right: -1.3em; }
.about ul.playList{
	display: flex;
	flex-wrap: wrap;
	column-gap: 1.25%;
	row-gap:2em;
	margin-bottom: 2em;
}
.about ul.playList li{
	width: 19%;
	text-align: center;
}
.about ul.playList p.playName{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: 16px;
}
.about ul.playList p.playName_en{
	font-family: "Barlow Condensed", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	color: #E6002D;
}
.about ul.playList p.im{
	background-image: linear-gradient(#ccc, #ddd);
	margin-bottom: .5em;
}
.about dl.car{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap:0em;
	
}
.about dl.car dt,.about dl.car dd{
	width: 90%;
}
.about dl.car dd{
	width: 90%;
}
.about dl.car p.ex{
	padding-top: 1em;
	font-size: 1.4rem;
	margin-bottom: 1em;
}
.about dl.car dd p.outLogo{
	width: 40%;
	margin-bottom: .5em;
}
.about dl.car dd p.carName{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 2.5rem;
	margin-bottom: .5em;
}
.about dl.car dd p.tx{
	font-size: 1.6rem;
}
.aboutBox{
	width: 90%;
	margin: 0 auto;
}
.about dl.car dd p.im.im2{
	width: 80%;
	margin: 0 auto;
	padding-top: 3em;
}
/*-----------------------------------------------
	PAST
-----------------------------------------------*/
.past{
	background-color: #E6002D;
	padding: 15em 0;
}
.past h3,.sche h3{
	color: #fff;
	font-family: "Barlow Condensed", sans-serif;
	font-style: normal;
	font-weight: 500;
	text-align: center;
	font-size: 7rem;
	line-height: 1.3;
	margin-bottom: 3em;
}
.past h3 span,.sche h3 span{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	display: block;
	font-size: 2.4rem;
}
.past dl.pastList{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 5em;
}
.past .past2023 dl.pastList{
	flex-direction:row-reverse;
}
.past dl.pastList dt,.past dl.pastList dd{
	width: 48%;
}
.past dl.pastList dd{
	padding-right: 3em;
}
.past .past2023 dl.pastList dd{
	padding-right: 0;
	padding-left: 3em;
}
.past dl.pastList p.name{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 2.4rem;
	margin-bottom: 1em;
}
.past dl.pastList p.name span{
	
}
.past dl.pastList p.name a:link{
	text-decoration: underline;
	color: #fff;
}
.past dl.pastList p.name a:visited{
	text-decoration: underline;
	color: #fff;
}
.past dl.pastList p.name a:hover{
	text-decoration: none;
	color: #fff;
}
.past dl.pastList p.tx{
	line-height: 2;
	font-size: 1.6rem;
}
.past .pastIm{
	position: relative;
}
.past .pastIm p.pastTitle{
	color: #000;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 9rem;
	position: absolute;
	top: -.65em;;
	right: .3em;
	line-height: 1;
}
.past .past2023 .pastIm p.pastTitle{
	color: #fff;
	right: auto;
	left: .3em;
}
.past ul.pastMv{
	display: flex;
	flex-wrap: wrap;
	width: 80%;
	margin: 0 auto;
	column-gap: 4%;
	row-gap:2em;
}
.past ul.pastMv li{
	width: 48%;
}
.past p.mvTitle{
	font-family: "Barlow Condensed", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 7.2rem;
	text-align: center;
	margin-bottom: 1em;
	line-height: 1;
}
.past .pastBox{
	margin-bottom: 20em;
}
.past .pastBox.past2023{
	margin-bottom: 0;
}
/*-----------------------------------------------
	SCH
-----------------------------------------------*/
.sche{
	padding: 15em 0;
}
ul.scheList{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 70%;
	margin: 0 auto 5em;
}
ul.scheList li{
	width: 20%;
}
ul.scheList p.tx{
	text-align: center;
	padding-top: 1em;
	line-height: 1.4;
	font-size: 1.8rem;
}
.sche p.title{
	text-align: center;
	font-size: 2.2rem;
	margin-bottom: 2em;
}
.sche p.title span{
	display: block;
	color: #E6002D;
}
.sche p.title br{
	display: none;
}
.sche .bt{
	width: 300px;
	margin: 0 auto;
}
.sche .bt img{
	padding: .5em 2em;
	background-color: #fff;
}
/*-----------------------------------------------
	slide
-----------------------------------------------*/
.sliderBox{
	width:90%;
	margin: 0 auto;
}
.slick-dots{
	text-align: center;
	padding-top: 1em;
}
.slick-dots li button {
   text-indent: -9999px;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 12px !important;
    height: 12px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
	background-color: #999;
	border-radius: 50%;
}
.slick-dots li.slick-active{
	background-color: #333;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:before {
    content: '•';
    font-size: 22px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    text-align: center;
    opacity: .25;
    color: black;
}
.sliderBox .slide-arrow{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	cursor: pointer;
}
.sliderBox .slide-arrow.prev-arrow{
	left: -5em;
}
.sliderBox .slide-arrow.next-arrow{
	right: -5em;
}
.sliderBox img.slide-arrow{
	width: 25px;
	height: auto;
}
/*-----------------------------------------------
	bt
-----------------------------------------------*/

.btArea{
	width:550px;
	margin: 0 auto;
	text-align: left;
	padding-top: 5em;
}
.btArea a:link{
	background-color:#444;
	color:#fff;
	display:block;
	line-height:1.4;
	position: relative;
	padding:1.5em 2em 1.5em 2em;
	text-decoration:none;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
	font-size:18px;
}
.btArea a:link br{
	display: none;
}

.btArea a:link::before {
  position: absolute;
  top:50%;
  right:1.5em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 50px;
  height: 1px;
  background: #fff;
  margin-right:0px;
}
.btArea a:link::after {
  position: absolute;
  top:50%;
  right:1.5em;
  margin-top:-5px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}
.btArea a:visited{
	background-color:#666;
	color:#fff;
	text-decoration:none;
}
.btArea a:hover{
	background-color:#666;
	color:#fff;
	text-decoration:none;
	opacity: .8;
}

/*-----------------------------------------------
	BT
-----------------------------------------------*/	
.fixBt{
	position: fixed;
	z-index: 100;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: #222;
	padding: 1em 0;
}
.fixBt .btArea{
	padding: 0;
}
.fixBt .btArea a:link{
	background-color: #E6002D;
	font-size:26px;
	line-height: 1.3;
	font-weight:500;
	padding:.8em 3em .8em 3em;
	border-radius: 10em;
}
.fixBt .btArea a:visited{
	color: #fff;
	background-color: #E6002D;
}
.fixBt .btArea a:hover{
	color: #fff;
	background-color: #E6002D;
}
.fixBt .btArea a:link span{
	font-size: 60%;
	display: block;
}
/*-----------------------------------------------
	fade
-----------------------------------------------*/
.fadeIn_up {
	opacity:0;
	transition: all .5s;
}
.fadeIn_up.is-show {
	animation: fadeIn .5s ease-out forwards;
	animation-delay: .5s;
}


@keyframes fadeIn{
	0%{
		opacity:0;
		transform: translate(0, 40px);
	}
	50%{
		opacity:0.5;
		transform: translate(0, 20px);
	}
	100%{
		opacity:1;
		transform: translate(0, 0);
	}
}
@media screen and (max-width:1280px) {
.topArea_first p.com{
	width: 90%;
	margin: 0 auto 15em;
}
	
.top_first ul.reds-logoTop{
	width: 220px;
}
/*-----------------------------------------------
	about
-----------------------------------------------*/
.about{
	background-size: 65%;
	background-position: top 450px left -25%;
}
.about h3{
	font-size: 8rem;
	margin-bottom: 2em;
}
.about ul.about01 p.tx{
	font-size: 2.1rem;
}
.about ul.about01{
	width: 94%;
}
.about ul.about02{
	width: 92%;
}
.about ul.about02 p.title{
	font-size: 2.4rem;
}
.about ul.about02 p.sub{
	font-size: 2.4rem;
}
.about ul.about02 p.att{
	font-size: 1.7rem;
}
.about ul.about02 p.tx{
	font-size: 2rem;
}
.about ul.about01 .mv p.tx{
	font-size: 2rem;
}
/*-----------------------------------------------
	PAST
-----------------------------------------------*/

.past h3,.sche h3{
	font-size: 8rem;
}
.past dl.pastList p.name{
	font-size: 2.8rem;
}
.past dl.pastList p.tx{
	font-size: 2rem;
}
.past dl.pastList dd{
	padding-right: 1em;
}
.past .past2023 dl.pastList dd{
	padding-left: 1em;
}
.past p.mvTitle{
	font-size: 7.5rem;
}
.past ul.pastMv{
	width: 90%;
}
.past .pastIm p.pastTitle{
	font-size: 9.5rem;
}
/*-----------------------------------------------
	SCH
-----------------------------------------------*/
.sche{
	padding: 15em 0;
}
ul.scheList{
	width: 90%;
}
ul.scheList p.tx{
	font-size: 2.2rem;
}
.sche p.title{
	font-size: 2.6rem;
}
	

}