@charset "utf-8";

/* ================================


=================================== */

/* font
----------------------------------- */

img{ max-width:100%; }

.anim {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.5s ease-out;
}
.anim.on {
    opacity: 1;
    transform: translateY(0);
}


/* clearfix
----------------------------------- */
.clearfix:after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}
.clearfix {display: inline-block;}
* html .clearfix {height: 1%;}
.clearfix {display:block;}
.clear { clear: both; }

.h5_player{
	width:700px !important;
	height: 394px !important;
	display: block !important;
	position: relative !important;
	margin:0 auto !important;
}

.player_main,
.video_main{
	width:700px !important;
	height: 394px !important;
	margin:0 auto !important;
}

/* dummy
----------------------------------- */
.dummy { 
    position: absolute !important;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}


/* base
----------------------------------- */
html,body { height: 100%; background:transparent;}

body {
	background:#dedede url("../images/main_bg.jpg") no-repeat fixed center center / cover;
	color: #000;
	font-family: YakuHanJP,"ヒラギノ角ゴ Pro W3", Arial, "Noto Sans Japanese", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5em;
	word-wrap:break-word;
	font-feature-settings : "palt";
	letter-spacing: 0.08em;
    -webkit-transition: all 1s ease;
	transition: all 1s ease;
}

.txtLink{
	padding-right:10px;
	text-align:right;
	font-size:14px;
}
.txtLink a{ color:#47A1C8; }
.txtLink a:hover{ text-decoration:underline; }

.safari{ font-feature-settings: "pkna"; }

.sp{ display:none !important; }

#wrap {
	min-width: 1000px;
	min-height: 100%;
	position: relative;
}
#wrap ~ iframe,
#wrap ~ img { height: 1px !important; line-height: 0; display: none; }
#container {
	padding: 30px 0 60px;
	margin: auto;
	position:relative;
}


.txt{ font-size: 16px; line-height:1.6em; }



a{
  color:#000;
  text-decoration:underline;
  text-decoration: underline;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

a:hover{ -webkit-transition: all .3s ease; transition: all .3s ease;  text-decoration:none;}


.finBox{ margin-bottom:650px; }

.view { 
    opacity: 1 !important; 
    top: 0 !important; 
}


/* ローディング
----------------------------------- */
#loading {
    width: 100%;
    height: 100%;
    background: #dedede;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
}
.loading {
    display: block;
    width: 0;
    height: 1px;
    background: #fbfbf5;
    position: fixed;
    top: 50%;
    left: 0;
    z-index: 1;
}

section {
  width: 900px;
  margin: 0 auto;
  color: #000;
  padding: 100px 0;
}
section .lead{ font-size:14px; line-height:1.6em; }

.box{ padding:30px 100px 0; max-width: 900px; }

.mainArea{
	z-index: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	position:relative;
}
.mainArea h1 {
    position: absolute;
    box-sizing: border-box;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    color: #fff;
    font-size: 6vw;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    width: 70%;
    max-width: 900px;
}

/* scroll */
.scroll{
    opacity: 0;
	display: block;
	width: 1px;
	height: 45px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left:-1px;
	z-index: 10;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.scroll.active {
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
    opacity: 1; 
}
.scroll:after {
	width: 100%;
	position: absolute;
	height: 100%;
	display: block;
	content: "";
	top: 0px;
	background: #333;
	-webkit-animation: scroll 1.2s linear 0s infinite;
	animation: scroll 1.2s linear 0s infinite;
}

@-webkit-keyframes scroll {
	0%{ height: 0; top: 0; bottom: auto; opacity: 0; }
    35%{ opacity: 1; }
	46% { height: 100%; top: 0; bottom: auto; }
	50% { height: 100%; bottom: 0; top: auto; }
	54% { height: 100%; bottom: 0; top: auto; }
	100% { height: 0; bottom: 0; top: auto;}
}
@keyframes scroll {
	0%{ height: 0; top: 0; bottom: auto; opacity: 0; }
    35%{ opacity: 1; }
	46% { height: 100%; top: 0; bottom: auto; }
	50% { height: 100%; bottom: 0; top: auto;}
	54% { height: 100%; bottom: 0; top: auto;}
	100% { height: 0; bottom: 0; top: auto; }
}

.downScroll a { text-decoration: none; display: block; }

.scrollTxt {
    display: none;
    color: #EEE;
	font-family: 'Montserrat', "Noto Sans Japanese", sans-serif;
    font-size: 20px;
    text-align: center;
    padding-bottom: 1px;
    letter-spacing: 0.05em;
	text-shadow:0 0 7px rgba(0,0,0,0.5);
    margin: 0 0 5px;

}

.c-scroll-down {
    width: 12px;
    margin: auto;
    padding-left: 10px;
}


.st0{
    fill:none;
    stroke:#FFFFFF;
    stroke-width:2;
    stroke-miterlimit:10;
}

.aVIETZct_0{
	stroke-dasharray:71 73;
	stroke-dashoffset:72;
	animation:aVIETZct_draw_0 1250ms linear 0ms infinite,aVIETZct_fade 1250ms linear 0ms infinite;
	-webkit-animation:aVIETZct_draw_0 1250ms linear 0ms infinite,aVIETZct_fade 1250ms linear 0ms infinite;
	-moz-animation:aVIETZct_draw_0 1250ms linear 0ms infinite,aVIETZct_fade 1250ms linear 0ms infinite;
}

@keyframes aVIETZct_draw{
    100%{
        stroke-dashoffset:0;
    }
}

@keyframes aVIETZct_fade{
    0%{
        stroke-opacity:1;
    }
    84%{
        stroke-opacity:1;
    }
    100%{
        stroke-opacity:0;
    }
}


@keyframes aVIETZct_draw_0{
    0%{
        stroke-dashoffset: 72
    }
    48%{
        stroke-dashoffset: 0;
    }
    100%{
        stroke-dashoffset: 0;
    }
}

@-webkit-keyframes aVIETZct_draw{
    100%{
        stroke-dashoffset:0;
    }
}

@-webkit-keyframes aVIETZct_fade{
    0%{
        stroke-opacity:1;
    }
    84%{
        stroke-opacity:1;
    }
    100%{
        stroke-opacity:0;
    }
}


@-webkit-keyframes aVIETZct_draw_0{
    0%{
        stroke-dashoffset: 72
    }
    48%{
        stroke-dashoffset: 0;
    }
    100%{
        stroke-dashoffset: 0;
    }
}

/* header */
#navBtn { display: none; }
  header{
    position: fixed;
    height: 70px;
    padding:0 10px 0 20px;
    background:rgba(255,255,255,0.5);
    text-align: right;
    z-index: 100;
    width: 100%;
    transition: all .3s;
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    box-sizing: border-box;
    padding: 22px 0 0;
}
nav li {
  display: inline-block;
  margin: 0 20px;
}
nav li a {
  position: relative;
  display: block;
  font-size: 18px;
  letter-spacing: 2px;
  text-decoration: none;
}
nav li a:hover{
  opacity:0.6;
}

.secTit{
  margin:0 0 40px;
  font-family: 'Oswald', sans-serif;
  font-size:80px;
  font-weight:700;
    text-align: center;
    line-height: 1em;
}


.btn a{
	display:block;
	width:320px;
	margin:0 auto;
	padding:20px 0;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	text-align:center;
	color:#FFF;
	background:#2a2a2a;
	font-size:16px;
	text-decoration:none;
}
.btn a.sub{
    display: block;
    width: 320px;
    margin: 0 auto;
    padding: 20px 0;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 4px;
    text-align: center;
    color: #fff;
    font-size: 16px;
    background: #2a2a2a;
    text-decoration: none;
}
.btn span{
	display:block;
	width:320px;
	margin:0 auto;
	padding:20px 0;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	text-align:center;
	background:#e4e4e4;
	font-size:14px;
	text-decoration:none;
	color:#2a2a2a;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.btn a:hover{ background: #64605b; }
.btn span.stickerAll {
	color:#fff;
	background:#2a2a2a;
}
.btn span.stickerAll:hover { background:#64605b; color:#fff; }


/* NEWS */
#news > ul{
  padding:30px 50px 50px;
  background: #fff;
}
#news > ul li {
    border-bottom: 1px solid #ccc;
    position: relative;
}
#news > ul li::before{
  content:"";
  position:absolute;
  bottom:-1px;
  left:0;
  width:0;
  height:1px;
  background:#000;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
#news > ul li:hover::before {
    width: 100%;
}
#news > ul li a{
  text-decoration: none;
  display: block;
  padding: 20px 0;
}
#news > ul li a:hover{
  opacity:0.6;
}
#news > ul li:nth-child(n+4){
  display:none;
}
#news > ul li .date{
  font-size: 15px;
  margin: 0 0 5px;
}
#news > ul li .date .icoNew {
  color: #f00;
  margin: 0 0 0 6px;
}

/* RELEASE */

#releaseList .sml{
  font-size: 13px;
}

#releaseList li {
  padding: 40px 0;
  border-bottom: 1px solid #ccc;
}
#releaseList li dl dt, #releaseList li dl dd{
  display:inline-block;
  vertical-align: top;
}
#releaseList li dl dt{
  width: 350px;
  position: relative;
  line-height: 0;
}
#releaseList li dl dd{
  width: 550px;
  padding: 0 0 0 40px;
  box-sizing: border-box;
}

.discTit, .date, .tune{
  font-family: 'Oswald', YakuHanJP,"ヒラギノ角ゴ Pro W3", Arial, "Noto Sans Japanese", sans-serif;
  font-weight:400;
}
.discTit {
  font-size: 40px;
  margin: -29px 0 0 -6px;
  line-height: 1.35;
  font-weight: 700;
  padding: 0 0 10px;
}
.discTit span {
    font-size: 19px;
    font-weight: 400;
}
.date {
  font-size: 20px;
  margin: 0 0 20px;
  letter-spacing: 1.5px;
  line-height: 1;
}
.day{ font-size:20px; margin-bottom: 30px; }
ul.discBox {
    letter-spacing: -0.4em;
    font-size:0;
    text-align: left;
}

.discTit i{
    margin: 0 0 0 3px;
  font-size: 60%;
  font-weight:400;
  font-style:normal;
  vertical-align: -0.2em;
}
.discTit i.front{
    vertical-align: 0.85em;
    line-height: 0.7em;
    margin: 0 3px 0 0;
}
ul.discBox li .info{
  margin: 0 0 20px;
    font-size:16px;
    line-height:1.5em;
}
.tune {
  font-size: 18px;
  line-height: 1.9;
  padding: 0 0 20px;
  letter-spacing: 1px;
}
ul.discBox li {
    text-align: left;
    letter-spacing: normal;
    display: inline-block;
    width:42%;
    font-size:14px;
    vertical-align:top;
    padding: 0;
}
ul.discBox li.jacket {
  position: relative;
    width:45%;
    margin: 0 3% 0 0;
    text-align: right;
    padding: 0px 0 0;
    vertical-align: top;
}

#releaseList li .link a {
  display:inline-block;
  width:180px;
  margin:0 20px 0 0;
  padding:8px 0;
  border-radius:50px;
  text-align:center;
  color:#fff;
  background:#000;
  font-size:13px;
  text-decoration:none;
  line-height: 1;
  min-height: 47px;
  box-sizing: border-box;
}
#releaseList li .link a span{
  display: inherit;
  padding: 7px 0;
}
#releaseList li .link a img{
    height: 28px;
}
#releaseList li .link a:hover { background:#333; color:#000;color:#fff;}


.movieBox{
  text-align:center;
}

.new::before{
  display: inline-block;
  content:"NEW";
  margin: 0 10px 0 0;
  padding: 18px 0 0;
  width:70px;
  height:70px;
  font-family: 'Oswald', sans-serif;
  font-size: 30px;
  font-weight: 700;
  color:#fff;
  vertical-align: 0.1em;
  border-radius:50%;
  background:#f00;
  box-sizing:border-box;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  vertical-align: 19px;
}

.eventArea{
  padding:50px;
  background:#fff;
}

.delayInfo{
    background: #eee;
    padding: 40px;
    margin: 0 0 40px;
}
.ac .delayInfo{
    background: #ddd;
}
.delayInfo .link {
    text-align: center;
    padding: 30px 0 0px;
}
.eventArea ul li:not(:last-child){
  padding:0 0 70px;
  margin:0 0 70px;
  border-bottom:2px dotted #000;
}

.eventArea h3{
  font-family: 'Oswald', sans-serif;
  font-size:55px;
  text-align:center;
  font-weight: 700;
  margin: 0 0 20px;
  line-height: 1.15;
}
.eventArea .shoulder{
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    padding: 0 0 20px;
}
.eventArea .shoulder i{
  font-size: 125%;
  font-style:normal;
  vertical-align: -0.1em;
}
.eventArea h3 i{
    margin: 0 0 0 3px;
  font-size: 60%;
  font-weight:400;
  font-style:normal;
  vertical-align: -0.2em;
}
.eventArea h3 i.front{
    vertical-align: 0.85em;
    line-height: 0.7em;
    margin: 0 3px 0 0;
}
.eventArea .date {
  font-size: 35px;
  text-align: center;
  line-height: 1.3em;
  margin: 0 0 30px;
}
.eventArea .date i{
    font-style: normal;
    font-size: 15px;
    margin: 0 0 0 7px;
}
.eventArea table{
  margin:0 0 30px;
  width:100%;
  font-size:15px;
  border-top:1px solid #000;
}
.eventArea table tr{
  display:block;
  padding:15px 0;
  border-bottom:1px solid #000;
}
.eventArea table tr th{
  width:180px;
  text-align:center;
  padding: 5px 0;
  border-right: 1px solid;
}
.eventArea table tr td{
  padding:0 0 0 25px;
  line-height: 1.3em;
}
.eventArea .link{
  text-align: center;
}
.eventArea .link span{
    display: block;
    font-size: 12px;
    margin: 10px;
}
.eventArea .info{
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px;
}
.eventArea .link a{
  width:400px;
  padding:15px 0;
  font-size:16px;
  font-weight:bold;
}


.ac dt p{
    font-family: 'Oswald', sans-serif;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    line-height: 1em;
}
.ac dt{ position: relative;}
.ac dd {
  display: none;
  padding:40px 0;
  margin: 0 25px;
  border-top: 1px solid #999;
}
.ac dt .switch{
	display: block;
	position: absolute;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.ac dt .switch::before,
.ac dt .switch::after{
	content:'';
	display: block;
	background: #9c9a8d;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: all .3s ease;
	transition: all .3s ease; 
}
.ac {
  background: #eee;
  /* margin: 40px 0 0; */
}
.ac dt {
  padding: 20px 25px;
  cursor: pointer;
}
.ac dt .switch {
  right: 45px;
  top: 50%;
}
.ac dt .switch::before{ width: 1px; height: 15px; top: -7px; left: 7px; }
.ac dt .switch::after{ width: 15px; height: 1px; }

.ac dt.open .switch::before{ top: -12px; transform: rotate(45deg); -webkit-transform: rotate(90deg); }
.ac dt.open .switch::after{ top: -5px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); opacity:0; }

.eventArea .ac ul li:not(:last-child) {
    padding: 0 0 40px;
    margin: 0 0 30px;
    border-bottom: 1px dotted #000;
}

.eventArea .ac .shoulder {
  text-align: left;
  font-size: 18px;
  padding: 0 0 10px;
  line-height: 1;
}
.eventArea .ac h3 {
    font-size: 25px;
    text-align: left;
    margin: 0 0 15px;
    line-height: 1.4;
}
/*
.eventArea .ac h3 br, .eventArea .ac .date br{ display:none; }
*/
.eventArea .ac .date {
    font-size: 16px;
    text-align: left;
    margin: 0;
}
.eventArea .ac .date span{
    padding: 0 0 5px;
    display: inherit;
}
.eventArea .ac .date i{
    font-size: 14px;
    margin: -10px 0 15px;
    display: inherit;

}
.eventArea .ac table {
    font-size: 14px;
    margin: 0;
}
.eventArea .ac .link {
    padding: 30px 0 0;
}
.eventArea .ac .link a {
    width: 350px;
    font-size: 15px;
}

/* MOVIE */

#movie > ul li{
  position: relative;
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
}
#movie > ul li:not(:last-child){
  padding:0 0 40px;
}
#movie > ul li iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}



/* profile */

.design{
  padding:10px 13px 30px 0;
  font-family: 'Oswald', sans-serif;
  color:#333;
  font-size:11px;
  text-align:right;
}
.profile ul.member{
  text-align:center;
}
.profile ul.member li {
  position: relative;
  float: left;
  width:300px;
  padding:5px;
  line-height:0;
  box-sizing:border-box;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
}
.profile ul.member li img{
  width:100%;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.profile ul.member li:hover{
  z-index:10;
}
.profile ul.member li:hover img { transform: scale(1.2); }
.profile h2 img{
  width:400px;
}
.profile h2 svg use{
  display: inline !important;
  opacity:1 !important;
}
/*
.profile ul.member li:hover {
	flex: 2;
}
.profile ul.member li span{
  font-weight:bold;
}
.profile ul.member li i{
  font-style:normal;
  font-size:11px;
}

.profile ul.member li img{
  width:100%;
    -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.profile ul.member li:hover img{
  width:247px;
}
.profile .lead p.name{
  padding:0 0 20px;
  text-align: center;
}
.profile .name svg{
  fill:#000;
  width:200px;
  height:41.5px;
}
.profile .name svg use{
  display: inline !important;
  opacity:1 !important;
}
*/
.profile .lead{
  text-align:center;
  padding:0 0 30px;
}
.profile .lead p{
  padding:0 0 10px;
}
.profile .lead img{
  display: block;
  margin: 0 auto 20px;
  width: 200px;
}

.link a {
	display:inline-block;
	width:220px;
	margin:0 10px;
	padding:8px 0;
	border-radius:50px;
	text-align:center;
	color:#fff;
	background:#000;
	font-size:13px;
	border:solid 1px #000;
	text-decoration:none;
}
.link a:hover { background:#fff; color:#000;}


#sns{
  text-align:center;
}
#sns a{
  margin:0 20px;
  display:inline-block;
  color:#333;
  font-size:28px;
}
#sns a:hover{
  opacity:0.6;
}


/* footer
----------------------------------- */
#footer {
	width: 100%;
	text-align: center;
	padding: 30px 0;
	position: absolute;
	left: 0;
	bottom: 0;
	color:#666;
	font-size:12px;
}
#footer #supportNav {
	width: 980px;
	text-align: center;
	line-height: 1rem;
	padding: 0 30px;
	margin: 0 auto 5px;
}

#footer #supportNav{ margin-bottom:40px; }
#footer li { display: inline-block; }
#footer li a{ color:#FFF; text-decoration:none; }

#footer #supportNav a::after{
	content: '｜';
	color: #FFF;
	padding: 0 0 0 5px;
	margin:0 5px 0 0;
}
#footer #supportNav li:last-child a:after,
#footer .linkNav li:last-child a:after { content: none; }
#footer #supportNav .listTit,
#footer .linkNav .listTit { color: #99958c; font-weight: bold; }
#footer .supportNav a,
#footer .linkNav a {
	display: inline-block;
	color: #FFF;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
}
#footer .supportNav a:hover,
#footer .linkNav a:hover { color: #28a6ca; }
#footer .copyright {
	width: 980px;
	font-size: 11px;
	font-weight: normal;
	color: #99958c;
	text-align: center;
	padding: 5px 30px 0;
	margin: 0 auto;
}
#footer .jasrac span { margin-left: 4px; }

/* PAGE TOP
----------------------------------- */

#pageTop {
	display: block;
	width: 54px;
	height: 60px;
	font-size: 10px;
	text-align: center;
	text-decoration: none;
	line-height: 0;
	position: fixed;
	right: 15px;
	bottom:12px;
    opacity: 0;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
	color:#FFF;
}

#pageTop.upScroll{
    opacity: 1;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}

#pageTop::before {
    content: '';
    width: 20px;
    height: 20px;
    border: 0px;
    background: none;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(-45deg);
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    position: absolute;
    bottom: 2px;
    left: 20px;
}
