@charset "UTF-8";
@import url(cmn.css);
@import url(base.css);

/*-------------*/

#mv{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: #000;
	transition: 1s ease-in-out;
}
.scrolled #mv{
	opacity: 0.4;
}
#mv .outer{
	position: relative;
}
#mv .outer:after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #6465d2;
	mix-blend-mode: color-dodge;
	opacity: 0.5;
	z-index: 3;
}
#mv .inner{
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
}
#mv iframe{
	position: absolute;
	top: calc((56.25vw - 100vh)/-2);
	left: 0;
	filter: contrast(150%);
	width: 100%;
	height: 56.25vw;
	display: block;
}
@media screen and (max-width: 177.77vh){
	#mv iframe{
		top: 0;
		left: calc((177.77vh - 100vw)/-2);
		width: 177.77vh;
		height: 100vh;
	}
}

#mv .t{
	position: absolute;
	bottom: 150px;
	left: 40px;
	color: #fff;
	z-index: 4;
	pointer-events: none;
	transition: 1s ease-in-out;
	max-width: calc(100% - 80px);
}
.scrolled #mv .t{
	opacity: 0;
}
#mv .t1{
	font-size: 18rem;
	line-height: 1;
	font-weight: bold;
	letter-spacing: -2.8rem;
	margin-bottom: 10px;
}
#mv .t2{
	font-size: 8rem;
	line-height: 1;
	font-weight: bold;
	letter-spacing: -0.2rem;
	margin-bottom: 20px;
}
#mv .t>div>img{
	display: block;
	width: 250px;
	max-width: 30vw;
}
#mv .t ul{
	margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
#mv .t ul li{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 25px;
	min-width: 55px;
	margin: 0 20px 0 0;
}
#mv .t ul li img{
	max-height: 100%;
	display: block;
}
@media screen and (max-width: 1400px){
	#mv .t1{
		font-size: 12.5vw;
		letter-spacing: -1.7vw;
	}
	#mv .t2{
		font-size: 5vw;
		letter-spacing: -0.2vw;
	}
}
@media screen and (max-width: 1100px){
	#mv .t{
		bottom: 50px;
	}
}
@media screen and (max-width: 1060px){
	#mv .t{
		left: 20px;
		max-width: calc(100% - 40px);
	}
}
@media screen and (max-width: 860px){
	#mv .t ul{
		width: 100%;
	}
	#mv .t ul li{
		width: auto;
		margin-right: 10px;
		height: 20px;
	}
	#mv .t ul li img{
		max-width: 100%;
	}
}
@media screen and (max-width: 520px){
	#mv .t2{
		font-size: 5.5vw;
	}
	#mv .t>div>img{
		max-width: 40vw;
	}
	#mv .t ul{
		flex-wrap: wrap;
	}
	#mv .t ul li{
		width: auto;
		justify-content: flex-start;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 480px){
	#mv .t{
		left: 10px;
		max-width: calc(100% - 20px);
	}
}

/*-------------*/

main{
	margin-top: 100vh;
	background-color: transparent;
	padding-top: 0;
}

/*-------------*/

#s_timer{
	margin-top: -130px;
	margin-bottom: 80px;
	margin-bottom: 0;
	position: relative;
	z-index: 3;
}
@media screen and (max-width: 1100px){
	#s_timer{
		margin-bottom: 50px !important;
		margin-bottom: 0 !important;
	}
	#s_timer .w{
		border-bottom: 2px solid #000;
	}
}

/*-------------*/

#s_p{
	position: relative;
	margin-top: -5vw;
	background: #fff;
	box-shadow: 20px 20px 70px rgba(0,0,0,0.4);
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	z-index: 2;
}
#s_p .w{
	position: relative;
	display: flex;
	width: 100%;
}

#s_p .slider{
	width: 50%;
	position: relative;
	display: flex;
	align-items: stretch;
	justify-content: center;
}
#s_p #slr{
	width: 50%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
#s_p .slider .slick-list{
	position: relative;
	display: block;
	overflow: hidden;
}
#s_p .slider .slick-track{
	position: relative;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
#s_p .slider .slick-slide{
	height: 100%;
}

#s_p #sl1 img{
	display: block;
	object-fit: cover;
	object-position: 50% 0;
	width: 100%;
	height: 100%;
	max-height: 1050px;
}
#s_p #sl1 img.s_p1{
	object-position: 100% 0;
}

#s_p #sl2{
	text-align: left;
	margin-left: -50px;
	width: calc(100% + 50px);
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: center;
	padding: 6vw 0;
}
#s_p #sl2 .slick-arrow{
	display: block;
	text-indent: -10000px;
	outline: none;
	line-height: 1px;
	font-size: 1px;
	height: 44px;
	width: 55px;
	cursor: pointer;
	z-index: 1;
	border: none;
	background: #0f0;
	order: 1;
	margin-right: 2px;
	margin-bottom: 30px;
	box-shadow: 10px 10px 30px rgba(0,0,0,0.2);
	background: #ed1c24;
	border: 2px solid #000;
	transition: 0.2s ease-out;
	position: relative;
}
#s_p #sl2 .slick-arrow:hover{
	background: #000;
	box-shadow: 0 0 0 rgba(0,0,0,0.2);
}
#s_p #sl2 .slick-arrow.slick-prev:before,
#s_p #sl2 .slick-arrow.slick-next:before{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-left: 2px solid #000;
	border-bottom: 2px solid #000;
	position: absolute;
	top: calc(50% - 6px);
	left: calc(50% - 5px);
	transform: rotate(45deg);
	transition: 0.2s ease-out;
}
#s_p #sl2 .slick-arrow.slick-next:before{
	transform: rotate(225deg);
	left: calc(50% - 10px);
}
#s_p #sl2 .slick-arrow.slick-prev:hover:before,
#s_p #sl2 .slick-arrow.slick-next:hover:before{
	border-left: 2px solid #ed1c24;
	border-bottom: 2px solid #ed1c24;
}
#s_p #sl2 .slick-list{
	width: 100%;
	order: 3;
}
#s_p #sl2 .sl2w{
	max-width: 800px;
	padding-right: 50px;
}
#s_p #sl2 h3,
#s_p #sl2 p{
	display: block;
	background: #fff;
	padding: 5px;
}
#s_p #sl2 h3{
	margin-bottom: 15px;
	padding: 7px 5px;
	max-width: 650px;
}
#s_p #sl2 h3+p{
	margin-bottom: 10px;
	font-size: 2.5rem;
	font-weight: bold;
}
@media screen and (max-width: 1450px){
	#s_p #sl2{
		margin-left: -30px;
		width: calc(100% + 30px);
	}
}
@media screen and (max-width: 1100px){
	#s_p #sl2 .slick-arrow{
		margin-bottom: 15px;
	}
	#s_p #sl2 .sl2w{
		padding-right: 20px;
	}
	#s_p #sl2 h3+p{
		font-size: 2.0rem;
	}
}
@media screen and (max-width: 900px){
	#s_p{
		margin-top: -10vw;
	}
	#s_p .w{
		display: block;
	}
	#s_p .slider{
		width: 100%;
		display: block;
	}
	#s_p #slr{
		width: 100%;
		display: flex;
		background: #fff;
	}
	#s_p #sl1{
		overflow: hidden;
		height: 100vw;
	}
	#s_p #sl2{
		display: flex;
		padding: 0;
		background: #fff;
		width: 90%;
		margin-left: 0;
		transform: translate(0, -40px);
		padding: 30px 20px 40px;
	}
	#s_p #sl2 .slick-arrow{
		position: absolute;
		top: calc(-45vw + 10px);
		left: -3vw;
		margin: 0;
		width: 44px;
	}
	#s_p #sl2 .slick-arrow.slick-next{
		left: auto;
		right: -3vw;
	}
	#s_p #sl2 .sl2w{
		padding: 0;
	}
	#s_p #sl2 h3,
	#s_p #sl2 p{
		padding: 0 !important;
	}
}
@media screen and (max-width: 450px){
	#s_p #sl2{
		width: 95%;
	}
	#s_p #sl2 .slick-arrow{
		left: -1vw;
	}
	#s_p #sl2 .slick-arrow.slick-next{
		right: -1vw;
	}
}

/*-------------*/

#s_news{
	margin-bottom: 80px;
	margin-top: -5vw;
	position: relative;
	z-index: 3;
}
#s_news .w{
	background: #ed1c24;
	max-width: 1800px !important;
	width: 90%;
	margin: 0 auto;
	border: 2px solid #000;
	box-shadow: 20px 20px 70px rgba(0,0,0,0.4);
}
#s_news .flex{
	padding: 80px 120px;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	position: relative;
}
#s_news .flex>p{
	z-index: 2;
	white-space: pre;
	line-height: 0.90;
	text-align: center;
	position: absolute;
	transform: rotate(90deg);
	font-size: 7rem;
	top: 44%;
	left: -121px;
	display: block;
	font-weight: bold;
}
#s_news .flex>p.p2{
	left: auto;
	right: -188px;
}
@media screen and (max-width: 1500px){
	#s_news .w{
		width: 95%;
	}
	#s_news .flex{
		padding: 80px 100px;
	}
	#s_news .flex>p{
		font-size: 4vw;
		left: -7vw;
	}
	#s_news .flex>p.p2{
		left: auto;
		right: -10.8vw;
	}
}
@media screen and (max-width: 1350px){
	#s_news .flex{
		padding: 70px 70px;
	}
	#s_news .flex>p{
		left: -7.7vw;
	}
	#s_news .flex>p.p2{
		left: auto;
		right: -11.4vw;
	}
}
@media screen and (max-width: 1000px){
	#s_news .flex{
		padding: 50px 50px;
	}
}
@media screen and (max-width: 900px){
	#s_news{
		margin-top: -40px;
	}
}
@media screen and (max-width: 680px){
	#s_news .flex{
		padding: 10px 30px;
	}
	#s_news .flex>p{
		transform: rotate(0);
		width: 100%;
		text-align: center;
		font-size: 11vw;
		padding-right: 1vw;
		position: static;
		margin-bottom: 10px;
	}
	#s_news .flex>p.p2{
		margin-top: 10px;
		margin-bottom: 0;
	}
}
@media screen and (max-width: 500px){
	#s_news .flex{
		padding: 10px 20px;
	}
}
#s_news .tw{
	width: 30%;
	padding-left: 1px;
	z-index: 3;
	position: relative;
	display: flex;
	align-items: stretch;
}
#s_news .tw .twitter-timeline{
	overflow: scroll;
	height: 100%;
	width: 100% !important;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 12px;
}
#s_news .tw iframe{
	max-height: 100% !important;
	width: 100% !important;
}
#s_news .outer{
	overflow: hidden;
	position: relative;
	width: 70%;
	z-index: 3;
	position: relative;
}
#s_news article{
	width: 40%;
	padding-right: 1px;
	padding-bottom: 1px;
}
/*--▼並び改変1/2--*/
#s_news article:nth-of-type(1){
	width: 60%;
}
#s_news article:nth-of-type(2),
#s_news article:nth-of-type(3){
	position: absolute;
	top: 0;
	right: 0;
	height: 50%;
}
#s_news article:nth-of-type(3){
	top: 50%;
}
#s_news article a{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	align-content: flex-end;
	justify-content: flex-start;
	position: relative;
	overflow: hidden;
	height: 100%;
	padding: 15px;
	background: #000;
}
#s_news article:nth-of-type(1) a{
	padding-top: 60%;
}
/*
#s_news article:nth-of-type(3){
	width: 60%;
}
#s_news article:nth-of-type(1),
#s_news article:nth-of-type(2){
	position: absolute;
	top: 0;
	right: 0;
	height: 50%;
}
#s_news article:nth-of-type(2){
	top: 50%;
}
#s_news article a{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	align-content: flex-end;
	justify-content: flex-start;
	position: relative;
	overflow: hidden;
	height: 100%;
	padding: 15px;
	background: #000;
}
#s_news article:nth-of-type(3) a{
	padding-top: 60%;
}
*/
/*--▲並び改変1/2--*/
#s_news article a:before{
	content: "";
	display: block;
	width: 100%;
	height: 35%;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 0;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.9) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.9) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.9) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	z-index: 2;
}
#s_news article h3,
#s_news article p{
	position: relative;
	z-index: 4;
	width: 100%;
	margin: 0;
	order: 1;
	color: #fff;
	font-size: 1.55rem;
	text-align: left;
}
#s_news article h3{
	order: 2;
	font-size: 2rem;
	margin-top: 5px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	line-height: 1.4;
}
#s_news article div{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: 0.3s;
}
#s_news article a:hover div{
	width: 105%;
	height: 105%;
	top: -2.5%;
	left: -2.5%;
	opacity: 0.7;
	filter: saturate(0) contrast(120%);
}
#s_news article div img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}
#s_news .w>ul{
	display: flex;
	width: 100%;
	border-top: 2px solid #000;
	align-items: stretch;
	justify-content: center;
	position: relative;
	z-index: 3;
	background: #ed1c24;
}
#s_news .w>ul li{
	display: flex;
	width: 50%;
	align-items: stretch;
	justify-content: center;
}
#s_news .w>ul li{
	border-right: 1px solid #000;
}
#s_news .w>ul li+li{
	border-right: none;
	border-left: 1px solid #000;
}
#s_news .w>ul li a{
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 30px 15px;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.2;
	transition: 0.2s ease-out;
}
#s_news .w>ul li a span{
	display: block;
}
#s_news .w>ul li a span i{
	display: inline-block;
}
#s_news .w>ul li a:hover{
	background: #000;
	color: #ed1c24;
}
@media screen and (max-width: 1000px){
	#s_news .tw{
		width: 50%;
	}
	#s_news .outer{
		width: 50%;
	}
	#s_news article{
		width: 50%;
	}
/*--▼並び改変2/2--*/
	#s_news article:nth-of-type(1){
		width: 100%;
	}
	#s_news article:nth-of-type(2),
	#s_news article:nth-of-type(3){
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		float: left;
		height: auto;
	}
	#s_news article:nth-of-type(3){
		float: right;
	}
/*
	#s_news .outer{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		align-content: flex-start;
		justify-content: flex-start;
	}
	#s_news article:nth-of-type(3){
		width: 100%;
		order: 1;
	}
	#s_news article:nth-of-type(1),
	#s_news article:nth-of-type(2){
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		height: auto;
		order: 2;
	}
*/
/*--▲並び改変2/2--*/
	#s_news article a{
		padding: 40% 10px 10px 10px !important;
	}
	#s_news article h3{
		font-size: 1.8rem;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		min-height: 40px;
	}
}
@media screen and (max-width: 900px){
	#s_news .w>h3{
		margin-bottom: 20px;
	}
	#s_news article a{
		padding: 10px;
	}
	#s_news article p{
		font-size: 1.5rem;
	}
	#s_news .w>ul li a{
		font-size: 2rem;
	}
}
@media screen and (max-width: 680px){
	#s_news article a{
		padding-top: 30vw !important;
	}
	#s_news .flex{
		display: block;
	}
	#s_news .tw{
		width: 100%;
		margin-top: 1px;
		padding-left: 0;
		height: 400px;
	}
	#s_news .outer{
		width: 100%;
	}
}
@media screen and (max-width: 600px){
	#s_news .btn{
		top: calc(42px + 20px + 30vw * 2 + 61px * 2 + 10px * 2 + 450px);
		bottom: 0;
		right: auto;
		left: calc(50% - 75px);
	}
	#s_news .w>ul li a{
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 500px){
	#s_news article{
		float: none !important;
		width: 100% !important;
		margin-bottom: 1px;
		padding: 0;
	}
	#s_news .btn{
		top: calc(42px + 20px + 30vw * 3 + 61px * 3 + 10px * 3 + 450px);
	}
	#s_news .w>ul li a{
		padding: 15px 10px;
	}
}

/*-------------*/

#s_lineup{
	background: #fff;
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	text-align: center;
	box-shadow: 20px 20px 70px rgba(0,0,0,0.4);
	position: relative;
	z-index: 4;
}
#s_lineup .outer{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
}
#s_lineup .inner{
	width: 33.3%;
	display: flex;
	align-items: stretch;
	justify-content: center;
	border-right: 2px solid #000;
}
#s_lineup .inner:nth-of-type(3n){
	border-right: none;
}
#s_lineup .inner a{
	display: flex;
	align-items: stretch;
	justify-content: center;
	padding: 50px;
	position: relative;
	width: 100%;
}
#s_lineup .inner a:after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
	transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
	border: 0 solid rgba(0,0,0,0);
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	z-index: 2;
}
#s_lineup .inner a:hover:after{
	border: 50px solid rgba(0,0,0,1);
}
#s_lineup .inner a:before{
	content: "VIEW MORE";
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - 100px);
	height: calc(100% - 100px);
	background: rgba(0,0,0,0.5);
	opacity: 0;
	transition: 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	position: absolute;
	top: 50px;
	left: 50px;
	z-index: 2;
	color: #fff;
}
#s_lineup .inner a:hover:before{
	opacity: 1;
}
#s_lineup .inner p{
	position: absolute;
	z-index: 3;
	transition: 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#s_lineup .inner p:nth-of-type(1){
	width: 100%;
	top: 8px;
	left: 0;
}
#s_lineup .inner p:nth-of-type(2){
	width: 100%;
	top: calc(50% - 15px);
	left: calc(-50% + 26px);
	transform: rotate(-90deg);
}
#s_lineup .inner p:nth-of-type(3){
	width: 100%;
	top: calc(50% - 15px);
	right: calc(-50% + 26px);
	transform: rotate(-90deg);
}
#s_lineup .inner p:nth-of-type(4){
	width: 100%;
	bottom: 8px;
	left: 0;
}
#s_lineup .inner a:hover p{
	color: #ed1c24;
	color: #fff;
}
#s_lineup .inner div{
	width: 100%;
}
#s_lineup .inner img{
	max-width: none;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#s_lineup .btn{
	padding: 40px;
	padding-top: 20px;
}
#s_lineup .btn .cap{
	margin-bottom: 30px;
}
#s_lineup .btn .cap p{
	display: inline-block;
	text-align: left;
}
@media screen and (max-width: 1650px){
	#s_lineup .inner:nth-of-type(4) p:nth-of-type(1){
		letter-spacing: -0.1rem;
	}
}
@media screen and (max-width: 1000px){
	#s_lineup .inner{
		width: 50%;
		border-bottom: 2px solid #000;
	}
	#s_lineup .inner:nth-of-type(2n){
		border-right: none;
	}
	#s_lineup .inner:nth-of-type(n+3){
		border-bottom: none;
		border-left: 2px solid #000;
		border-right: 2px solid #000;
	}
	#s_lineup .inner:nth-of-type(4) p:nth-of-type(1){
		letter-spacing: 0;
	}
}
@media screen and (max-width: 700px){
	#s_lineup .inner:nth-of-type(4) p:nth-of-type(1){
		letter-spacing: -0.1rem;
	}
	#s_lineup .btn{
		padding: 20px;
		padding-bottom: 30px;
	}
	#s_lineup .btn .cap{
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 600px){
	#s_lineup .inner a{
		padding: 30px;
	}
	#s_lineup .inner a:hover:after{
		border-width: 30px;
	}
	#s_lineup .inner a:before{
		top: 30px;
		left: 30px;
		width: calc(100% - 60px);
		height: calc(100% - 60px);
	}
	#s_lineup .inner p:nth-of-type(1){
		top: 2px;
		font-size: 1.6rem;
	}
	#s_lineup .inner p:nth-of-type(2){
		left: calc(-50% + 15px);
	}
	#s_lineup .inner p:nth-of-type(3){
		right: calc(-50% + 15px);
	}
	#s_lineup .inner p:nth-of-type(4){
		bottom: 2px;
	}
}
@media screen and (max-width: 500px){
	#s_lineup .inner a{
		padding: 5vw;
	}
	#s_lineup .inner a:hover:after{
		border-width: 5vw;
	}
	#s_lineup .inner a:before{
		top: 5vw;
		left: 5vw;
		width: calc(100% - 10vw);
		height: calc(100% - 10vw);
	}
	#s_lineup .inner p{
		font-size: 1.4rem;
	}
	#s_lineup .inner p:nth-of-type(1){
		top: calc((5vw - 1.2rem*1.6)/2);
		font-size: 1.2rem;
	}
	#s_lineup .inner p:nth-of-type(2){
		left: calc(-50% + 10px);
	}
	#s_lineup .inner p:nth-of-type(3){
		right: calc(-50% + 10px);
	}
	#s_lineup .inner p:nth-of-type(4){
		bottom: calc((5vw - 1.4rem*1.6)/2);
	}
}
@media screen and (max-width: 400px){
	#s_lineup .inner p:nth-of-type(1){
		top: calc((5vw - 1.0rem*1.6)/2);
		font-size: 1.0rem;
	}
}
@media screen and (max-width: 380px){
	#s_lineup .inner:nth-of-type(4) p:nth-of-type(4){
		letter-spacing: -0.1rem;
	}
}
@media screen and (max-width: 360px){
	#s_lineup .inner:nth-of-type(4) p:nth-of-type(1){
		letter-spacing: -0.2rem;
	}
}

/*-------------*/

#s_link{
	background: #ed1c24;
}
#s_link>p{
	border-bottom: 2px solid #000;
	padding: 40px 20px;
	font-size: 2.4rem;
	line-height: 1.6;
	font-weight: bold;
}
#s_link>p span{
	display: inline-block;
}
#s_link>ul{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	border-bottom: 2px solid #000;
}
#s_link>ul li{
	display: block;
	width: 50%;
	text-align: center;
	border-right: 1px solid #000;
}
#s_link>ul li+li{
	border-right: none;
	border-left: 1px solid #000;
}
#s_link>ul a{
	padding: 40px 60px;
	transition: 0.2s ease-out;
	text-align: right;
	display: block;
}
#s_link>ul li+li a{
	text-align: left;
}
#s_link>ul a:hover{
	background: #000;
}
#s_link>ul a div{
	max-width: 600px;
	text-align: center;
	display: inline-block;
}
#s_link>ul a span{
	margin: 0 auto;
}
#s_link>ul a img{
	display: block;
	margin: 0 auto 15px;
	transition: 0.2s ease-out;
}
#s_link>ul a:hover img{
	opacity: 0.5;
}
@media screen and (max-width: 950px){
	#s_link>p{
		padding: 20px;
	}
	#s_link>ul a{
		padding: 30px;
	}
}
@media screen and (max-width: 600px){
	#s_link>p{
		font-size: 2rem;
	}
	#s_link>ul li{
		width: 100%;
		border: none !important;
	}
	#s_link>ul li+li{
		border-top: 2px solid #000 !important;
	}
}
@media screen and (max-width: 500px){
	#s_link>ul a{
		padding: 20px;
	}
}

/*-------------*/

#s_rui{
	overflow: hidden;
	background: #fff;
	position: relative;
	box-shadow: 20px 20px 70px rgba(0,0,0,0.4);
	z-index: 3;
}
#s_rui:before{
	content: "";
	display: block;
	width: 100%;
	height: 30%;
	background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.5));
	z-index: 1;
	position: absolute;
	bottom: 0;
	left: 0;
}
#s_rui .p1,
#s_rui .p2{
	padding: 0;
	font-weight: bold;
	white-space: nowrap;
	line-height: 1;
	font-size: 18rem;
	position: absolute;
	top: 200px;
	left: 0;
	letter-spacing: -0.1rem;
	z-index: 2;
	display: block;
}
#s_rui .p2{
	color: #ed1c24;
}
#s_rui .p1 span,
#s_rui .p2 span{
	display: block;
	animation: rui 20s linear infinite;
}
@keyframes rui{
	0%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(-50%);
	}
}
#s_rui .p1 i,
#s_rui .p2 i{
	display: inline-block;
	padding-right: 7rem
}
#s_rui .w{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	position: relative;
	z-index: 3;
}
#s_rui .txt{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	background: #0d203e;
	color: #fff;
	text-align: left;
	width: 50%;
	padding: calc(20rem + 100px) 50px 50px;
	overflow: hidden;
	position: relative;
}
#s_rui .txt>*{
	width: 100%;
	max-width: 700px;
}
#s_rui h3{
	line-height: 1.4;
	font-size: 3rem;
	margin-bottom: 30px;
}
#s_rui h3 span{
	display: inline-block;
}
#s_rui .img{
	width: 50%;
	padding-top: 5%;
}
#s_rui .img div{
	width: 100%;
	height: 100%;
	min-height: 900px;
	background: url(../images/rui.png) 0 20px no-repeat;
	background-size: 800px auto;
	transform: scale(1.1);
	transform-origin: 50% 100%;
}
@media screen and (max-width: 1400px){
	#s_rui .p1,
	#s_rui .p2{
		top: 150px;
	}
}
@media screen and (max-width: 1200px){
	#s_rui .p1,
	#s_rui .p2{
		top: 100px;
	}
	#s_rui .img{
		padding-top: 8%;
	}
	#s_rui .img div{
		transform-origin: 100% 100%;
	}
}
@media screen and (max-width: 1100px){
	#s_rui .p1,
	#s_rui .p2{
		font-size: 15rem;
		top: 170px;
	}
	#s_rui .p1 i,
	#s_rui .p2 i{
		padding-right: 5rem;
	}
	#s_rui .txt{
		padding: calc(15rem + 100px) 50px 50px 20px;
	}
	#s_rui h3{
		font-size: 2.6rem;
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 1000px){
	#s_rui .p1,
	#s_rui .p2{
		top: 90px;
	}
	#s_rui .txt{
		padding-right: 30px;
	}
	#s_rui .img{
		padding-top: 11%;
	}
	#s_rui .img div{
		background: url(../images/rui.png) 0 100% no-repeat;
		background-size: auto 100%;
		min-height: 700px;
	}
}
@media screen and (max-width: 750px){
	#s_rui:before{
		height: 70%;
	}
	#s_rui .p1,
	#s_rui .p2{
		top: 50px;
	}
	#s_rui .p1{
		white-space: normal;
		font-size: 16vw;
		text-align: center;
		letter-spacing: -0.6vw;
		width: 100%;
	}
	#s_rui .p1:after{
		content: "RUI HACHIMURA";
		font-size: 14vw;
		color: #0d203e;
	}
	#s_rui .p1:before{
		content: "";
		display: block;
		width: 70vw;
		height: 70vw;
		background: #ed1c24;
		border-radius: 100%;
		position: absolute;
		top: 20px;
		left: 15vw;
		z-index: -1;
	}
	#s_rui .p2{
		display: none;
	}
	#s_rui .p1 span,
	#s_rui .p2 span{
		animation: none;
		transform: translateX(0);
	}
	#s_rui .p1 i,
	#s_rui .p2 i{
		padding-right: 0;
	}
	#s_rui .p1 i+i,
	#s_rui .p2 i+i{
		display: none;
	}
	#s_rui .txt{
		order: 2;
		width: 100%;
		padding: 50px 20px;
	}
	#s_rui .img{
		order: 1;
		width: 100%;
		padding-top: 0;
	}
	#s_rui .img div{
		transform: scale(1);
		width: 100%;
		height: 90vw;
		min-height: 0;
		background: url(../images/rui.png) 75% 30px no-repeat;
		background-size: 80% auto;
}
}
@media screen and (max-width: 550px){
	#s_rui h3{
		font-size: 2.2rem;
	}
}

/*-------------*/

#s_coll{
	margin-top: -5vw;
	padding: 10vw 0 80px;
	background: url("../images/collbg.gif");
	position: relative;
}
#s_coll .w{
	margin: 0 auto;
	padding: 0 20px;
}
#s_coll h3{
	margin-bottom: 40px;
}
#s_coll h3 i,
#s_coll h3 img{
	display: block;
	margin: 0 auto;
}
#s_coll h3 i{
	margin-bottom: 20px;
}
#s_coll h3 img{
	max-width: 90%;
}
#s_coll h3 i img{
	max-width: 50%;
}
#s_coll p{
	font-size: 1.3rem;
	line-height: 1.4;
	margin-bottom: 30px;
}
@media screen and (max-width: 700px){
	#s_coll{
		padding-top: 15vw;
	}
	#s_coll h3{
		margin-bottom: 30px;
	}
	#s_coll h3 img{
		max-width: 100%;
	}
}
@media screen and (max-width: 500px){
	#s_coll{
		padding-bottom: 60px;
	}
}

#s_coll+#s_p{
	margin-top: 0;
}

/*-------------*/

#s_sale{
	position: relative;
	margin-top: -5vw;
	background: url("../images/sale20230303/bg.jpg");
	background-size: cover;
	z-index: 2;
	padding: 10vw 0;
	color: #645b49;
}
#s_coll+#s_sale{
	margin-top: 0;
	padding: 80px 0 10vw;
	box-shadow: 20px 20px 70px rgba(0,0,0,0.4);
}
@media screen and (max-width: 500px){
	#s_coll+#s_sale{
		padding-top: 60px;
	}
}
#s_sale .w{
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}
#s_sale .sale-pc{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
}
#s_sale .sale-sp{
	display:none;
}
#s_sale .title{
	margin-bottom: 30px;
}
#s_sale figure{
	margin-left: auto;
	margin-right: auto;
	margin-bottom:30px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	text-align: center;
	width: 45%;
}
#s_sale figure:nth-of-type(4){
	width: 100% !important;
	max-width: none !important;
}
#s_sale figure a{
	margin: 0 auto;
}
#s_sale figure img{
	margin: 0 auto;
}
#s_sale p{
	font-size: 1.3rem;
	line-height: 1.4;
	text-align: left;
}
@media screen and (max-width: 900px){
	#s_sale .w{
		padding: 30px 20px 40px;
	}
	#s_sale .sale-pc{
		display:none;
	}
	#s_sale .sale-sp{
		display:block;
	}
	#s_sale figure{
		width: 100%;
	}
}