@charset "utf-8";
#loading {
	position: fixed;
	z-index: 20000;
	background:#000 url(../img/common/bg_t.jpg) no-repeat center center / cover;
	left:0;
	top:0;
	bottom:0;
	right:0;
	overflow: hidden;
}
.loading__circle {
	position: absolute;
	left:50%;
	top:50%;
	width:209px;
	height:209px;
	margin-left:-105px;
	margin-top:-105px;
	transition:all 0.5s linear;
}
.loading__circle:before {
	content:'';
	left:0;
	top:0;
	position: absolute;
	width:100%;
	height:100%;
	background:url(../img/common/loading_circle.png) no-repeat center center / contain;
	image-rendering: -webkit-optimize-contrast;
	animation:rotateZ 10s linear infinite;
}
#loading.on .loading__circle {
	transform:scale(3);
	opacity:0;
}
@media screen and (max-width: 768px){
	#loading.on .loading__circle {
		transform:scale(2);
		opacity:0;
	}
}
#fullWrap{
	position:relative;
	background:url(../img/common/bg_t.jpg) repeat center top
}
/*#fullWrap:before{
	position:fixed;
	content:'';
	left:50%;
	top:50%;
	width:760px;
	height:760px;
	margin-top:-380px;
	margin-left:-380px;
	background:url(../img/common/circle.png) no-repeat center center / contain;
	animation:rotateZ 16s ease-in-out infinite;
	pointer-events: none
}*/
@media screen and (max-width:768px){
	#fullWrap{
		background:url(../img/common/bg_t-sp.jpg) repeat center top / 100% auto
	}
	#fullWrap:before{
		position:fixed;
		content:'';
		left:50%;
		top:50%;
		width:87.2vw;
		height:87.2vw;
		margin-top:-43.6vw;
		margin-left:-43.6vw;
		background:url(../img/common/circle.png) no-repeat center center / contain;
		animation:rotateZ 16s ease-in-out infinite
	}
}
.kv{
	position:relative;
	width:100%;
	background:#F9F5E7;
	min-width:1200px;
}

.kv__inner{
	position:relative;
	left:0;
	top:0;
	width:100%;
	min-width: 1200px;
}
.kv__swiper{
	position:relative;
	left:0;
	top:0;
	width:100%;
	overflow:hidden;
	z-index:520;
	pointer-events: none;
}
.kv__swiper-wrapper{
	position:relative;
	width:100%;
	height:100%;
}
.kv__swiper-slide{
	position:relative;
	width:100%;
	height:100%;
	padding:0 420px 0 310px;
	/*filter:blur(50px);*/
	transition:all 0.3s ease;
	will-change:filter
}
@media screen and (max-width:768px){
	.kv__swiper-slide {
		padding:0;
	}
}
.swiper-slide-active.kv__swiper-slide{
	filter:blur(0);
	transition:all 1s ease
}
.kv__swiper-slide img {
	height:auto;
	display: block;
	width:100%;
}
/*.kv1{
	background:url(../img/top/kv1bg.jpg) no-repeat center center / cover
}
.kv2{
	background:url(../img/top/kv2bg.jpg) no-repeat center center / cover
}*/
.kv__smokeWrap {
	position: absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	display: flex;
	justify-content: flex-end;
}
.kv__smoke{
	max-height:100%;
	height:100vh;
	position:sticky;
	overflow:hidden;
	top:0;
	width:420px;
	z-index:1501;
	opacity:0.5
}
@media screen and (max-width:768px){
	.kv__smoke{
		max-height:100%;
		height:100vh;
		position:sticky;
		height:100%;
		overflow:hidden;
		top:0;
		right:0;
		width:100%;
		z-index:1501;
		opacity:0.5
	}
}
@keyframes smoke{
	from{
		background-position:0 0
	}
	to{
		background-position:1200px 0
	}
}
.kv__smoke span{
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:1200px;
	height:239px;
	background:url(../img/top/smork.png) repeat-x 0 0 / 100% auto;
	animation:smoke 22s linear infinite;
	mix-blend-mode:soft-light;
	transform-origin:left bottom
}
.kv__smoke span:nth-child(2){
	animation:smoke 20s linear infinite reverse;
	mix-blend-mode:soft-light
}
.kv__content{
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	right:0;
	z-index:600
}
.kv__contentInner{
	left:0;
	top:0;
	width:100%;
	height:100%;
	position:absolute;
	display: flex;
	justify-content: space-between;
	z-index:520;
}

.kv__nav{
	position:sticky;
	top:0;
	width:310px;
	background:url(../img/common/cicon_l.svg) no-repeat 40px 44px / 36px auto;
	padding:40px 0 80px 88px;
	height:100vh;
	max-height:100%;
	z-index:50;
	overflow: hidden;
}
.kv__nav video {
	position: absolute;
	left:0;
	top:0;
	z-index:-1;
}
.kv__nav:before{
	content:'';
	position:absolute;
	left:0;
	top:59px;
	height:1px;
	width:40px;
	background:#c81515;
	z-index:10;
}
.kv__nav:after {
	content:'';
	position: absolute;
	left:40px;
	top:44px;
	width:36px;
	height:44px;
	background:url(../img/common/cicon_l.svg) no-repeat top left / contain;
}
.kv__navLists{
	display:block;
}
.kv__navLists li{
	line-height:1;
	display: table;
}
.kv__navLists li a{
	display:flex;
	justify-content:center;
	align-items:center;
	height:40px;
	padding:0 15px;
	color:#7b5c01;
	text-decoration:none;
	font-weight:400;
	position:relative;
	transition:color 1s ease
}
.kv__navLists li a br {
	display: none !important;
}
.js-kv2 .kv__navLists li a{
	color:#c0cbca
}
.kv__navLists li a:hover,
.kv__navLists li a.active {
	color:#c81515;
}
.kv__navLists li a .menu--ja {
	font-size:12px;
	line-height:1.2;
}
.content__right {
	height:100vh;
	max-height:100%;
	order:2;
	width:420px;
	z-index:1000;
	position: sticky;
	top:0;
	background:#41392c;
}
@media screen and (max-width:768px){
	.content__right {
		width:100vw;
		height:50vw;
	}
}
.kv__logo{
	position:absolute;
	right:35px;
	width:max(595px,45vw);
	top:35px;
	height:90%;
	-webkit-mask:url(../img/top/top_logo.png) no-repeat center top / contain;
	mask:url(../img/top/top_logo.png) no-repeat center top / contain;
	background:#d8bc59;
	transition:background 1s ease;
	/*display: none;*/
}
.kv__startdate{
	position:absolute;
	bottom:min(70px,3vw);
	left:45px;
	right:45px;
	height:40vh;
	-webkit-mask:url(../img/common/date.svg) no-repeat center bottom / contain;
	mask:url(../img/common/date.svg) no-repeat center bottom / contain;
	background:#d8bc59;
	transition:background 1s ease
}
.js-kv2 .kv__logo,
.js-kv2 .kv__startdate{
	background:#c0cbca
}
.kv__switch{
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-200px;
	display:flex
}
.kv__switch:before{
	content:'KEY VISUAL';
	position:absolute;
	font-family:'Cormorant Garamond', serif;
	font-size:12px;
	background:#000;
	line-height:1;
	padding:2px 4px;
	color:#FFF;
	left:50%;
	top:50%;
	pointer-events:none;
	transform:translate(-50%,-50%);
	z-index:2
}
.kv__switch li{
	width:200px;
	height:50px
}
.kv__switch li a{
	display:block;
	position:relative;
	height:50px
}
.kv__switch li a:before{
	content:'';
	position:absolute;
	background:#c81515;
	left:0;
	bottom:0;
	right:0;
	height:0;
	mix-blend-mode:multiply
}
.kv__switch li a.active:before{
	height:100%;
	transition:all 9s linear
}
.kv__switch li a:after{
	content:'';
	background:#565656;
	mix-blend-mode:multiply;
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0
}
.kv__switch li a.active:after{
	opacity:0
}
.kv1_t{
	background:url(../img/top/kv1_t.jpg) no-repeat center center / cover
}
.kv2_t{
	background:url(../img/top/kv2_t.jpg) no-repeat center center / cover
}
@media screen and (max-width:768px){
	.kv{
		/*padding-top:122.6666%*/
		min-width:100vw;
	}
	.kv__inner {
		padding-bottom:50vw;
		min-width: 100vw;
	}
	.kv__swiper{
		/*height:calc(100% - 10.6666vw)*/
	}
/*	.kv1{
		background:url(../img/top/kv1bg-sp.jpg) no-repeat center top / cover
	}
	.kv2{
		background:url(../img/top/kv2bg-sp.jpg) no-repeat center top / cover
	}*/
	.kv__contentInner{
		position:absolute;
		/*max-height:100%*/
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}
	.kv__logo{
		display: none;
	}
	.kv__startdate{
		top:unset;
		left:0vw;
		bottom:8vw;
		right:0;
		height:34vw;
		width:100%;
		-webkit-mask:url(../img/common/date-s.svg) no-repeat center bottom / contain;
		mask:url(../img/common/date-s.svg) no-repeat center bottom / contain;
	}
	.kv__switch{
		left:0;
		width:100%;
		margin-left:0
	}
	.kv__switch:before{
		font-size:1rem;
		line-height:1;
		padding:1px 2px
	}
	.kv__switch li{
		width:50%;
		height:10.6666vw
	}
	.kv__switch li a{
		height:10.6666vw
	}
}
.topStaff{
	padding:70px 0 120px;
}
.topStaff__lists{
	margin-bottom:0px
}
.topStaff__lists div{
	display:flex;
	flex-direction:column;
	align-items:center;
	padding-bottom:38px
}
.topStaff__lists dt{
	width:140px;
	height:22px;
	background:#c81515;
	color:#FFF;
	text-align:center;
	line-height:22px;
	margin-bottom:14px
}
.topStaff__lists dd{
	line-height:1.8;
	font-size:18px
}
.topStaff__lists div:first-child dd{
	font-size:22px
}
.topStaff__lists dd small{
	font-size:16px
}
@media screen and (max-width:768px){
	.topStaff{
		padding:10vw 0 16vw;
	}
	.topStaff__lists{
		margin-bottom:0;
	}
	.topStaff__lists div{
		padding-bottom:6vw;
	}
	.topStaff__lists dt{
		width:24vw;
		height:3.7333vw;
		line-height:3.7333vw;
		margin-bottom:3vw;
		font-size:1.2rem
	}
	.topStaff__lists dd{
		font-size:1.3rem;
		text-align:center;
	}
	.topStaff__lists div:first-child dd{
		font-size:1.5rem;
	}
	.topStaff__lists dd small{
		font-size:1.2rem;
	}
}
.topNews{
	position:relative;
	z-index:2;
	background:url(../img/common/red_bg.jpg) no-repeat center center / cover;
	padding:105px 0 62px
}
.topNews__header{
	position:absolute;
	top:-60px;
	height:120px;
	left:50%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	width:100%;
	padding:0 60px;
	transform:translateX(-50%);
	max-width:1600px
}
.topNews__header h2{
	font-size:120px;
	line-height:1;
	color:#c81515
}
.topNews__headerText{
	font-size:24px;
	text-align:right;
	line-height:18px;
	color:#c81515
}
.topNews__toButton{
	margin:0 auto
}
@media screen and (max-width:768px){
	.topNews{
		padding:13.3333vw 0 10vw;
		background:url(../img/common/red_bg-sp.jpg) no-repeat center center / cover
	}
	.topNews__header{
		top:-8vw;
		height:16vw;
		left:0;
		width:100%;
		padding:0;
		transform:unset;
		max-width:100%
	}
	.topNews__header h2{
		font-size:6rem
	}
	.topNews__headerText{
		font-size:1.2rem;
		line-height:0.9rem
	}
}
.topMovie{
	height:100vh;
	width:100%;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative
}
.topMovie__movie{
	display:block;
	background:#000;
	position:relative
}
.topMovie__movie:after{
	content:'';
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	right:0;
	background:url(../img/common/movie_ptn.png);
	z-index:11
}
.topMovie__yt{
	width:100%;
	height:100%;
	display:block;
	opacity:1;
	filter:grayscale(100%);
}
.topMovie__content{
	height:150px;
	display:block;
	position:absolute;
	left:0;
	right:0;
	top:50%;
	margin-top:-75px;
	z-index:50
}
.topMovie__contentInner{
	width:100%;
	padding:0 60px;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	align-items:center;
	height:150px;
	max-width:1600px
}
.topMovie__toChannel{
	position:absolute;
	z-index:101;
	bottom:50px;
	left:0;
	right:0;
	display:flex;
	justify-content:center;
	align-items:center
}
.topMovie__toChannel a{
	display:block;
	height:50px;
	padding:10px;
	color:#c81515;
	font-size:28px;
	text-decoration:none;
	transition:all 0.3s ease
}
.topMovie__toChannel a:hover{
	color:#FFF
}
.topMovie__toChannel a:before{
	content:'';
	display:inline-block;
	width:27px;
	height:19px;
	-webkit-mask:url(../img/common/icon_youtube.svg) no-repeat center center / contain;
	mask:url(../img/common/icon_youtube.svg) no-repeat center center / contain;
	margin-right:10px;
	background:#c81515;
	transition:all 0.3s ease
}
.topMovie__toChannel a:hover:before{
	background:#FFF
}
.topMovie__content h2{
	font-size:120px;
	line-height:1;
	color:#c81515
}
@media screen and (max-width:768px){
	.topMovie{
		height:56.25vw;
		overflow:unset;
		display:block
	}
	.topMovie__movie{
		width:100% !important;
		height:56.25vw !important;
		display:block;
		background:#000;
		position:relative
	}
	.topMovie__yt{
		width:100% !important;
		height:100% !important;
	}
	.topMovie__content{
		height:88vw;
		top:-8vw;
		margin-top:0
	}
	.topMovie__contentInner{
		width:100%;
		height:88vw;
		padding:0;
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		align-items:center;
		max-width:100%
	}
	.topMovie__content h2{
		font-size:6rem;
		line-height:1;
		color:#c81515;
		width:100%;
		text-align:right
	}
	.topMovie__toChannel{
		bottom:0;
		left:6.4vw;
/*		right:50%;
		justify-content:flex-start*/
		right:6.4vw;
	}
	.topMovie__toChannel a{
		height:13.3333vw;
		padding:0;
		font-size:1.8rem;
		letter-spacing:-0.02em;
		display:flex;
		align-items:center;
		width:100%;
justify-content: center;
	}
	.topMovie__toChannel a:before{
		display:inline-block;
		width:4.4vw;
		height:3.0666vw;
		margin-right:2vw
	}
	.topMovie__toButton{
		position:absolute;
		bottom:0;
		right:6.4vw;
		left:52%
	}
	.topMovie__toButton a:before{
		left:34.8vw;
		width:2.3333vw
	}
	.topMovie__toButton a:after{
		left:36.1333vw
	}
	.movie__playBtn{
		top:36.2666vw
	}
}
.social{
	padding:120px 0 60px
}
.social__inner{
	width:1080px;
	display:flex;
	justify-content:space-between;
	margin:0 auto
}
.social__box{
	width:500px;
	height:416px
}
.social__boxHeader{
	height:84px;
	position:relative;
	display:flex;
	justify-content:space-between
}
.social__boxHeader:after{
	content:'';
	position:absolute;
	left:0;
	top:58px;
	right:0;
	height:1px;
	background:#c81515
}
.social__boxHeader h3{
	font-size:60px;
	color:#c81515;
	line-height:.75
}
.social__boxLink{
	height:45px;
	display:flex;
	justify-content:flex-end;
	align-items:center
}
.social__boxLink a{
	display:flex;
	height:45px;
	color:#c81515;
	text-decoration:none;
	font-size:20px;
	align-items:center;
	transition:all 0.3s ease
}
.social__boxLink a:hover{
	color:#FFF
}
.social__boxLink a:before{
	content:'';
	display:inline-block;
	background:#c81515;
	margin-right:8px;
	transition:all 0.3s ease
}
.social__twitter .social__boxLink a:before{
	-webkit-mask:url(../img/common/sns_tw_w.svg) no-repeat center center / contain;
	mask:url(../img/common/sns_tw_w.svg) no-repeat center center / contain;
	width:19px;
	height:15px
}
.social__instagram .social__boxLink a:before{
	-webkit-mask:url(../img/common/sns_insta_w.svg) no-repeat center center / contain;
	mask:url(../img/common/sns_insta_w.svg) no-repeat center center / contain;
	width:16px;
	height:16px
}
.social__boxLink a:hover:before{
	background:#FFF
}
.social__boxContent{
	height:334px;
	overflow:auto
}
.social__instagramList{
	display:flex;
	flex-wrap:wrap
}
.social__instagramList li{
	width:calc(100% / 3);
	padding-top:calc(100% / 3);
	position:relative
}
.social__instagramList li img{
	display:block;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:0;
	object-fit:contain;
	background:#FFF;
	width:100%;
	height:100%
}
.social__instagram .social__boxContent{
	overflow:visible
}
.social__instaBanner a {
	display: block;
	transition:all 0.3s ease;
}
.social__instaBanner a:hover {
	opacity:0.7;
}
.social__instaBanner img {
	display: block;
	max-width: 100%;
	height:auto;
}
@media screen and (max-width:768px){
	.social{
		padding:10.6666vw 0 3.2vw;
		position: relative;
	}
	.social__inner{
		width:100%;
		display:block
	}
	.social__box{
		width:100%;
		height:auto
	}
	.social__boxHeader{
		height:13.3333vw;
		padding:0 6.4vw;
		margin-bottom:4.8vw
	}
	.social__boxHeader:after{
		top:auto;
		bottom:0;
		height:1px
	}
	.social__boxHeader h3{
		font-size:3rem;
		line-height:13.3333vw
	}
	.social__boxLink{
		height:13.3333vw
	}
	.social__boxLink a{
		height:13.3333vw;
		font-size:1.8rem
	}
	.social__boxLink a:before{
		margin-right:2vw
	}
	.social__twitter .social__boxLink a:before{
		width:3.8666vw;
		height:3.0666vw
	}
	.social__instagram .social__boxLink a:before{
		width:3.8666vw;
		height:3.0666vw
	}
	.social__boxContent{
		height:78vw;
		margin:0 6.4vw 7vw;
		background:#000
	}
	.social__instagram .social__boxContent{
		height:59vw
	}
}
/*#movieA,#movieB {
	opacity:1;
	position: relative;
}*/
@media screen and (max-width: 768px){
	#movieA,
	#movieB {
		display: none;
	}
}
.first__bnr {
	width:870px;
	margin:10px auto 80px;
	position: relative;
	z-index:500;
}
.flyer__bnr {
	width:870px;
	margin:0 auto 120px;
}
.flyer__bnr img, .first__bnr img {
	display: block;
	transition:opacity 0.3s ease;
}
.flyer__bnr a:hover img, .first__bnr a:hover img {
	opacity:0.7;
}
@media screen and (max-width: 768px){
	.first__bnr {
		width:100%;
		margin-top:0;
		margin-bottom:25.6vw;
	}
	.flyer__bnr {
		width:100%;
		margin-bottom:12vw;
	}
	.flyer__bnr img, .first__bnr img {
		display: block;
		width:100%;
		height:auto;
	}
}
.md_img {
	display: flex;
	align-items: center;
}
.md_img img {
	max-width: 100%;
}
