@charset "UTF-8";
/*////////////////////////*/
/*ファーストビュー*/
/*////////////////////////*/

main {
	background:#000;
}
.bnr-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	-webkit- transform: translateX(-50%) translateY(-50%);
	width:100%;
}



/*Scroll誘導アニメ*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
		position: absolute;
    right: 25px;
    bottom: 0;
    height: 150px;
    z-index: 1;
}
/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
  position: absolute;
  left:-22px;
  top: -30px;
    /*テキストの形状*/
  color: #fff;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  transform: rotate(90deg);
}
/* 線の描写 */
.scrolldown1::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top: 0;
    /*線の形状*/
  width: 1px;
  height: 150px;
  background: #fff;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}
/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:100px;
    opacity: 1;
  }
  100%{
    height:0;
    top:150px;
    opacity: 0;
  }
}

.movie-box video {
	width:123%;
	height:auto;
  object-fit: cover;
  font-family: "object-fit: cover;";
}


.slider1 .swiper-slide {
	height: unset;
}
.swiper-custom-parent {
  position: relative;
}
.slider1 {
  position: unset;
  width: 100%;
  height: 100%;
}
.swiper-pagination-bullet {
	width: 8%;
    height: 3px;
    border-radius: unset;
    background: #808080;
}
.top-catch {
	position: fixed;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	-webkit- transform: translateX(-50%) translateY(-50%);
/*	width: 33%;*/
/*	height: 100%;*/
/*	background:rgba(0,0,0,0.7);*/
}
.main-logo {
	width: 200px;
	height: 150px;
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
.text-wrap a {
		display: inline-block;
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

/*////////////////////////*/
/*セカンドビュー*/
/*////////////////////////*/

.top-logo {
	width: 150px;
	height: 150px;
}

.bnr-box {
  position: relative;
  height: 180px;
  color: #fff;
  overflow-y: hidden;
}
.bnr-box02 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  color: #fff;
}
.bnr-box-img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.link-arow {
  background: url(/assets/images/common/icon-line.svg) no-repeat bottom center / 100px ;
}

/*slider2*/
.slider2 .slider-box {
	position: relative;
	height: 230px;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
    left: 0;
    background: #000;
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    right: 0;
    background: #000;
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 1.4rem;
    color: #fff;
}


.ph-box01 {
	height:370px;
}
.ph-box02 {
	height:370px;
	margin-top:150px;
}
.ph-box03 {
	height:280px;
}


/*TRIBE PRIDE BG文字流れ*/
.scroll-infinity__item--text {
  font-family: 'Anton', sans-serif;
  width: calc(360vw / 3);
  font-size: 20rem;
  color: rgba(255,255,255,0.5);
}
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 6);
}
.scroll-infinity__item>img {
  width: 100%;
}


.index-ph {
		position: relative;
    top: -130px;
    left: 0;
    width: 100%;
    height: 0;
    z-index: 10;
}
.index-ph01 {
	height:300px;
	margin-top:100px;
}
.index-ph02 {
	height:300px;
	margin-top:50px;
}
.index-ph03 {
	height:300px;

}



.BTN00 a {
    display: block;
    font-size: 12px;
    line-height: 28px;
    letter-spacing: .1rem;
    color: #fff;
    width: fit-content;
    border-bottom: dotted 1px #fff;
    transition: all 0.6s ease 0s;
}
.BTN00 a:hover {
    border-bottom: solid 1px #fff;
    transition: all 0.6s ease 0s;
}
.BTN001 a {
    display: block;
    font-size: 12px;
    line-height: 28px;
    letter-spacing: .1rem;
    color: #000;
    width: fit-content;
    border-bottom: dotted 1px #000;
    transition: all 0.6s ease 0s;
}
.BTN001 a:hover {
    border-bottom: solid 1px #000;
    transition: all 0.6s ease 0s;
}

.BTN04 a {
  position: relative;
  display: block;
  font-size: 14px;
  line-height:20px;
  color: #fff;
  width: 100%;
  height: 85px;
  border:solid 1px #fff;
  padding: 20px 0 0 65px;
  transition: all 0.6s ease 0s;
}
.BTN04 a:after {
  position: absolute;
  top: 42px;
  right: 0;
  background: #fff;
  content: "";
  width: 20px;
  height: 1px;
  transition: all 0.6s ease 0s;
}
.BTN04 a:hover {
  background: #000;
  transition: all 0.6s ease 0s;
}
.BTN04 a:hover:after {
  width: 0;
  height: 1px;
  transition: all 0.6s ease 0s;
}
.BTN04 a img {
    position: absolute;
    top: 22px;
    left: 15px;
    width: 40px;
}

.column-ph {
	height:230px;
}
.rank {
    position: absolute;
    top: 210px;
    left: 14px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background: #AC8C36;
    color: #fff;
    text-align: center;
    font-size: .9rem;
    font-weight: 600;
}





/*PCのみ*/
@media (min-width: 768px) {

		header {display:none;}
		.toplogo {
			position: fixed;
			top:30px;
			left:30px;
			width:120px;
			z-index: 10;
		}
		.topmenu {
			position: fixed;
			bottom:30px;
			left:30px;
			z-index: 10;
		}
		.topmenu a:hover {
			color:#666;
		}
		.btn-line {
			position: absolute;
			top: 30px;
			right: 30px;
			width:30px;
		}

		.pt-100 {
			padding-top:100px;
		}
		.pt-200 {
			padding-top:200px;
		}
		.pb-100 {
			padding-bottom:100px;
		}
		.pb-200 {
			padding-bottom:200px;
		}

		.ph-box {
			height:2000px;
		}

		.top-ph01 {
			position: absolute;
			top: 120px;
			left: 10%;
			width: 15%;
		}
		.top-ph02 {
			position: absolute;
			top: 250px;
			left: 30%;
			width: 15%;
		}
		.top-ph03 {
			position: absolute;
			top: 900px;
			left: 0;
			width:35%;
		}
		.top-ph04 {
			position: absolute;
			top: 1500px;
			left: 40%;
			width:30%;
		}
		.top-ph05 {
			position: absolute;
			top: 500px;
			right: 80px;
			width:40%;
		}
		.top-ph06 {
			position: absolute;
			top: 1250px;
			right: 50px;
			width:20%;
		}




		#header {
			position:fixed;
		}

		/*トップスライダー*/
		.top-slider {
		    position: relative;
		    width: 100%;
		    height: 100vh;
/*		    z-index: 100;*/
/*		    background: #fff;*/
		}
		#pc-top-header {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			z-index: 1;
		}
		#pc-top-header #h_top{
			align-items: start;
		}
		#pc-top-header #h_top .h_logo {
			height: 180px;
		}
		.bg-top {
			/*position: absolute;
			top: 0;
			left: 50px;*/
			width : 100% ;
			height : 100vh ;
		}
		.news-box {
			position: absolute;
			bottom: 0;
			left: 50px;
			width : calc(100% - 50px) ;
			height : 40px ;
		}

		/*TRIBE PRIDE BG文字流れ*/
		.scroll-infinity {
			position: absolute;
		    top: -130px;
		    width:100%;
		}


		.movie-box {
		    position: absolute;
		    top: 50%;
		    left: 50%;
			  transform: translateY(-50%) translateX(-50%);
			  -webkit- transform: translateY(-50%) translateX(-50%);
		    width: 800px;
		    height: 550px;
		    opacity: 60%;
		}
		.mask {
		  -webkit-clip-path: url(#svgPath);
		  clip-path: url(#svgPath);
		}

}

@media (max-width: 768px) {

		.scrolldown1{
		    /*描画位置※位置は適宜調整してください*/
				position: absolute;
		    left: unset;
		    right: 20px;
		    bottom: unset;
		    top: 60%;
		    height: 150px;
		    z-index: 1;
		}

		.top-slider {
			height: 60vh ;
			z-index: unset;
		}
		.top-catch {
			width: 90%;
	    top: 50%;
	    left: 5%;
	    transform: unset;
		}

		.ph-box {
			height:1800px;
		}

		.top-ph01 {
			position: absolute;
			top: 50px;
	    left: 0;
	    width: 40%;
		}
		.top-ph02 {
	    position: absolute;
	    top: 150px;
	    left: unset;
	    right: 0;
	    width: 40%;
		}
		.top-ph03 {
			position: absolute;
	    top: 480px;
	    left: 0;
	    width: 75%;
		}
		.top-ph04 {
			position: absolute;
			top: 800px;
	    left: unset;
	    right: 0;
	    width: 60%;
		}
		.top-ph05 {
			position: absolute;
			top: 1080px;
	    right: 5%;
	    width: 90%;
		}
		.top-ph06 {
			position: absolute;
	    top: 1500px;
	    left: 0;
	    width: 50%;
		}




		.main-logo {
		    padding: 30px;
		}
		.h300 {
			height: 220px;
		}
		.ph-box01 {
			height:270px;
		}
		.ph-box02 {
			height:270px;
			margin-top:80px;
		}
		.ph-box03 {
		    height: 160px;
		}
		.ph-box03 span {
		    display: block;
		    height: 160px;
		}

		/*TRIBE PRIDE BG文字流れ*/
		.scroll-infinity__item--text {
		  width: calc(360vw / 3);
		  font-size: 6rem;
		}
		.scroll-infinity {
			position: absolute;
		    top: 600px;
		    width:100%;
		}

		/*slider2*/
		.slider2 .slider-box {
			height: 150px;
		}

		.bg-top {
			position: relative;
			overflow: hidden;
			height : calc(100vh - 210px) ;
		}

		.movie-box {
		    position: absolute;
		    top: 30%;
		    left: 50%;
			  transform: translateX(-50%)  translateY(-50%);
			  -webkit- transform: translateX(-50%)  translateY(-50%);
		    width: 350px;
		    height: 240px;
		}
		.mask {
		  -webkit-clip-path: url(#svgPathsp);
		  clip-path: url(#svgPathsp);
		}
		.bg01 {
			position: absolute;
	    top: 0;
	    left: 0;
	    width: 60%;
	    height: 20%;
	    background: rgba(255,255,255,0.5);
		}
		.bg02 {
			position: absolute;
	    bottom: 0;
	    right: 0;
	    width: 60%;
	    height: 20%;
	    background: rgba(0,0,54,0.2);
		}

		.py-sp-0 {
			padding-top:0;
			padding-bottom:0;
		}
		.py-sp-50 {
			padding-top:50px;
			padding-bottom:50px;
		}
		.pt-sp-50 {
			padding-top:50px;
		}
		.pt-sp-100 {
			padding-top:100px;
		}
		.column-ph {
		    height: 130px;
		}
		.rank {
		    top: 110px;
		}




}



