@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap');
::selection {
	background: #000;
	color: #fff;
}
::-moz-selection {
 background: #000;
 color:#fff;
}
* {
	outline:none;
}
body {
	font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, serif;
	font-weight: 600;
	font-size: 24px;
	color: #FFF;
	background-color: #000;
}
a { color: #000; }
.pc {display:none !important;}
#fullWrap {
	min-width:750px;
	overflow:hidden;
	position:relative;
}
.mvfi {
	position:fixed;
	left:0;
	right:0;
	top:0;
	bottom:0;
	z-index:5000;
	pointer-events: none;
}
.mvfi h1 {
	width:277px;
	height:80px;
	position: absolute;
	right:6px;
	top:515px;
	/*margin-top:-40px;*/
	background:url(../img/logo_w.png) no-repeat center center / contain;
	filter:blur(50px);
	opacity:0;
}
.mvfi h1.chg:after {
	opacity:1;
}
.mvfi h1.an {
	filter:blur(0);
	opacity:1;
	transition: all 2s ease;
}
.mvbg {
	height:1064px;
	background:url(../img/mv.jpg) no-repeat center center / 100%;
}
@keyframes mvan {
	0%{
		filter: brightness(3) contrast(3) opacity(0) saturate(0);
	}
	33% {
		filter: brightness(1) contrast(2) opacity(1) saturate(0.4);
	}
	66% {
		filter: brightness(1) contrast(1) opacity(1) saturate(0.8);
	}
	100% {
		filter: brightness(1) contrast(1) opacity(1) saturate(1);
	}
}
@keyframes mvan_bg {
	0% {
		background-size: 100%;
	}
	100% {
		background-size: 103%;
	}
}
.mvbg.an {
	animation:mvan 3s linear forwards,mvan_bg 4s ease forwards;
}
.mvov {
	padding:70px 50px 0;
	/* position: relative; */
	z-index:50;
}
#comment {
	width:400px;
}
#comment dl {
	margin-bottom:80px;
}
#comment div {
	margin-bottom:70px;
}
#comment div:last-child {
	margin-bottom:0;
}
#comment dt {
	margin-bottom:30px;
}
#comment dd {
	letter-spacing: 0.05em;
	line-height: 2;
	font-size:16px;
}
#comment dd strong {
	font-size:20px;
	display: block;
	padding-bottom:1em;
	letter-spacing: 0.2em;
	font-weight: 500;
}
.comment__1 dt {
	width:384px;
	height:75px;
	background: url(../img/staff_01_s.png) no-repeat left center / contain;
}
.comment__2 dt {
	width:257px;
	height:35px;
	background: url(../img/staff_02_s.png) no-repeat left center / contain;
}
.comment__3 dt {
	width:257px;
	height:35px;
	background: url(../img/staff_03_s.png) no-repeat left center / contain;
}
.staff dt {
	width: 326px;
	height: 50px;
	background: url(../img/staff_04.png) no-repeat left center;
}
.staff p {
	line-height: 2.8;
	letter-spacing: .05em;
}
.staff span.small {
	font-size: 10px;
}
.comment__twitter {
	position:relative;
	width:400px;
	height:59px;
}
.comment__twitter a {
	display: block;
	height:59px;
	position: relative;
	border:1px solid #FFF;
	overflow: hidden;
}
.comment__twitter a span {
	display: block;
	height:57px;
	text-indent: -9788px;
	background:url(../img/btn_twitter.png) no-repeat 102px center / 210px auto;
	z-index:55;
	position:relative;
}
.comment__twitter a:before,
.comment__twitter a:after {
	content:'';
	position: absolute;
	height:57px;
	transform: skewX(-45deg);
	background:rgba(0,0,0,0.75);
	top:0;
	width:calc(100% + 58px);
	transition:all 0.3s ease;
}
.comment__twitter a:before {
	left:calc(-100% - 29px);
}
.comment__twitter a:after {
	left:calc(100% + 29px);
}
.comment__twitter a:hover:before,
.comment__twitter a:hover:after {
	left:-29px;
}
#footer {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding:40px 0 110px;
}
.share {
	display: flex;
	height:100px;
	margin-bottom:40px;
}
.share dt {
	width:130px;
	height:100px;
	background:url(../img/share_text.png) no-repeat left center / 64px auto;
}
.share dd {
	width:100px;
	height:100px;
}
.share dd a {
	display: block;
	height:100px;
	transition: all 0.5s ease;
}
.share__twitter a {
	background:url(../img/icon_twitter_w.svg) no-repeat center center / 50px auto;
}
.share__facebook a {
	background:url(../img/icon_facebook_w.svg) no-repeat center center / 45px auto;
}
.share__line a {
	background:url(../img/icon_line_w.svg) no-repeat center center / 45px auto;
}
.copyright {
	font-size:10px;
	text-align: right;
	letter-spacing: 0.1em;
	line-height: 100px;
}
.js-effect {
transform: translate3d(-20px, 25px, 0);
transition: all 1s ease;
opacity: 0;
filter: blur(20px)
}
.js-effect__on {
opacity: 1;
transform: translate3d(0, 0, 0);
filter: blur(0);
}
#footer.js-effect {
	transform: translate3d(0, 25px, 0);
}
#footer.js-effect.js-effect__on {
	transform: translate3d(0, 0, 0);
}
.footer__contact {
/*	border-top:1px solid #FFF;*/
	width:750px;
	margin-right:-300px;
	margin-left:-50px;
	padding:50px 50px 20px;
}
.footer__contact a {
	display: block;
	height:55px;
	border:1px solid #FFF;
	overflow: hidden;
	text-decoration: none;
	position: relative;
	color:#FFF;
}
.footer__contact a span {
	display: block;
	height:53px;
	font-size:18px;
	text-align: center;
	line-height: 53px;
	position: relative;
	z-index: 3;
	letter-spacing: 0.1em;
	padding-left:0.1em;
}
.footer__contactText {
	font-size:14px;
	text-shadow: 0px 0px 3px #000000, 0px 0px 3px #000000, 0px 0px 3px #000000, 0px 0px 3px #000000, 0px 0px 3px #000000;
	letter-spacing: 0.1em;
	font-weight: :400;
	line-height: 1.8;
	text-align: center;
	margin-right:-250px;
	width:650px;
}
.bnr {
	margin-right:-220px;
	height:45px;
	z-index:500;
}
.bnr a {
	display: block;
	width:400px;
	margin:0 auto;
}
.bnr img {
	width: 400px;
}
.logoU__bnr {
	position: absolute;
	top:-90px;
	left:50px;
	filter:blur(50px);
	opacity:0;
	width:400px;
}
.logoU__bnr img {
	width:400px;
}
.logoU__bnr.an {
	filter:blur(0px);
	opacity:1;
	transition: all 2s ease;
	pointer-events: auto;
	z-index:5000;
}

/**---------- modal ----------**/
#modal {
	margin-bottom: 80px;
}

/* モーダル全体(背景＋本体) */
.js-modal-open {
	width: 400px;
	height: 200px;
	overflow: hidden;
	position: relative;
	display: block;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: 0.5s;
	background-position: center center;
	background-size: cover;
}
.modal-name {
	padding:10px 0 25px;
	font-size:20px;
}
.js-modal-open:hover::after {
	opacity: .75;
}

.modal-play {
	width: 48px;
	height: 48px;
}

.modal-play:before {
	content: url(../img/icon_play.png);
}

.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	z-index: 5001;
}

/* モーダル背景 */
.modal-bg {
	position: absolute;
	height: 100vh;
	width: 100%;
	background: rgba(0, 0, 0, 0.8);
}

/* モーダル本体 */
.modal-content {
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 720px;
	height: 405px;
	background: #fff;
}

body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}

.js-modal-close.close-btn {
	position: absolute;
	top: -50px;
	right: 0px;
}
.notice {
	width:480px;
	position: absolute;
	right:0;
	top:542px;
	margin-top:60px;
	filter:blur(50px);
	opacity:0;
}
.notice.an {
	filter:blur(0);
	opacity:1;
	transition: all 2s ease;
}
.notice.en {
	opacity:0;
	transition: all 1s ease;
}
.notice li {
	height:36px;
	margin-bottom:4px;
	border:1px solid #2b2b2b;
	border-right:none;
}
.notice1 {
	background:#000 url(../img/notice1.png) no-repeat center center;
}
.notice2 {
	background:#000 url(../img/notice2.png) no-repeat center center;
}