@charset "utf-8";

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

	=LOVE OFFICIAL SITE

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


/* base
================================ */
body{
	font-size: 14px;
	font-size: 1.02vw;
	line-height: 160%;
	line-height: 1.8vw;
}
a { color: #000; outline: none; -webkit-transition: all .3s ease; transition: all .3s ease; }
.sp{ display: none !important; }
::selection {
	background: #333;
	color: #fff;
	/* Safari */
}

::-moz-selection {
	background: #333;
	color: #fff;
	/* Firefox */
}

/* header
================================= */
#header {
	width: 100%;
	background: #fff;
	padding: 15px 0;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 999;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
h1#logo{
	position: fixed;
	top: 80px;
	top: 5vw;
	left: 4%;
	z-index: 100;
}
h1#logo a{ display: block; }
h1#logo a:hover{ opacity: 0.5; }
h1#logo svg{ width: 110px; height: 30px; }

/* navBtn */
#navBtn {
	width: 35px;
	height: 10px;
	position: fixed;
	top: 90px;
	top: 6vw;
	right: 90px;
	right: 6vw;
	z-index: 1000;
	cursor: pointer;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
#navBtn span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
#navBtn span:nth-of-type(1) { top: 0; }
#navBtn span:nth-of-type(2) { top: 10px; }
#navBtn::after {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	content: '';
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -22px;
	border-radius: 50%;
	border: 2px solid transparent;
	transition: all .75s;
}
.black #navBtn span{ background: #666; }
#navBtn:hover span:nth-of-type(1) { top: -2px; transition: all .2s;}
#navBtn:hover span:nth-of-type(2) { top: 12px; transition: all .2s;}
.menuOpen #menu{ height: 100%; -webkit-transition: all .6s ease; transition: all .6s ease; }
.menuOpen #navBtn{ transform: rotate(225deg); -webkit-transform: rotate(225deg); -webkit-transition: all .3s ease; transition: all .3s ease; }
.menuOpen #navBtn span:nth-of-type(1) { top: 6px; transform: rotate(90deg); -webkit-transform: rotate(90deg); }
.menuOpen #navBtn span:nth-of-type(2) { top: 6px; }

.menuOpen #navBtn span{ background: #fff; }
.menuOpen #navBtn:hover span:nth-of-type(1){ transform: rotate(90deg) scaleX(1.2); -webkit-transform: rotate(90deg) scaleX(1.2); }
.menuOpen #navBtn:hover span:nth-of-type(2){ transform: scaleX(1.2); -webkit-transform: scaleX(1.2); }

/* headerNavWrap */
#headerNavWrap{
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	right: -100%;
	z-index: 1000;
	overflow: hidden;
	-webkit-transition: all 1.4s ease;
	transition: all 1.4s ease;
}
#navCover,
#headerNavWrap .navCover{
	display: none;
	width: 100%;
	height: 100%;
	background: none;
	position: absolute;
	top: 0;
	right: 0;
	opacity:0;
	cursor: pointer;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 1000;
}
#headerNavWrap .navCover{ display: block; opacity:1; background: none; z-index:10; }

#headerNavWrap #headerNav{
	width: 42%;
	width: 36vw;
	min-width: 490px;
	background: #ea6c81;
	height: 150%;
	padding: 130px 0 0 50px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	position: absolute;
	top: -12%;
	right: -11%;
	right: -11vw;
	z-index: 100;
	transform: rotate(20deg);
}
#headerNavWrap #headerNav ul{
	transform: rotate(-20deg);
	position: relative;
	top: 14%;
	left: 14%;
}
#headerNavWrap #headerNav .sns{ display: inline-block; height: 30px; vertical-align: middle; margin-right: 12px;}
#headerNavWrap #headerNav .sns a{ font-size: 23px; line-height:0; padding-top:1px;}
#headerNavWrap #headerNav .sns a img{ width: auto; height: 25px; }
#headerNavWrap #headerNav .sns.x_twitter {    
	margin-left: -4px;
    width: 21px;
    margin-right: 14px;
    margin-top: -2px;
}
#headerNavWrap #headerNav  li{ margin-bottom: 20px; position: relative; }

#headerNavWrap #headerNav a{
	display: block;
	color: #fff;
	font-size: 14px;
	line-height: 100%;
	text-decoration: none;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	font-weight: 100;
	letter-spacing: 0.2em;
	overflow:hidden;
	position:relative;
}
#headerNavWrap #headerNav a svg{
	width: 20px;
	height: 10px;
	fill: #fff;
	position: absolute;
	top: 20%;
	left: -40px;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
#headerNavWrap #headerNav a:hover{ padding-left: 24px; }
#headerNavWrap #headerNav .sns a:hover{ padding-left: 0; opacity:0.5;}
#headerNavWrap #headerNav a:hover svg{ left:-4px; }

#headerNavWrap #headerNav .globalNav a:hover{ color:#ff5fa2; -webkit-transition: color .3s ease; transition: color .3s ease; }
#headerNavWrap #headerNav .globalNav li.logo a:hover{ opacity: 0.5; -webkit-transition: opacity .3s ease; transition: opacity .3s ease; }
.menuOpen #headerNavWrap{ right: 0; -webkit-transition: all .75s ease; transition: all .75s ease; }

#headerNavWrap #headerNav ul#menuBnr{
  transform: rotate(0deg);
  padding: 0;
  left: 0;
  width: 180px;
}
#headerNavWrap #headerNav #menuBnr a:hover{ padding-left: 0;opacity:0.6; }


/* layout
================================ */

/* more backLink */
.more{
	position: absolute;
	bottom: -130px;
	bottom: -8vw;
	right: 0;
}
.back{ text-align: center; margin-top: 60px;}
.more a,
.back a{
	display: inline-block;
	text-decoration: none;
	letter-spacing: 0.1em;
	position: relative;
	left:0;
}
.more svg,
.back svg{
	display: inline-block;
	width: 23px;
	height: 9px;
	position: relative;
	left: 10px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.back a{ font-size: 13px; left: inherit; right:0; }
.back svg{
	width: 18px;
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	left: inherit;
	right: 8px;
}
.more a:hover{ left: 10px; }
.more a:hover svg{ left: 18px; }
.back a:hover{ right: 10px; }
.back a:hover svg{ right: 13px; }

/* youtube */
.youtubeBox{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.youtubeBox iframe,
.youtubeBox object,
.youtubeBox embed{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}


/* home
================================ */

/* cmn
--------------------- */

#home #container{
	background: url(/static/equallove/official/cmn/bg_stripe.png) center;
	background-size: 6px;
}
#home #logo{ display: none; }
#home section{
	background: #fff;
	position: relative;
	padding: 80px 0 0;
	margin-bottom: 300px;
	margin-bottom: 24vw;
}
#home section .inner{ width: 65%; margin:0 auto; position: relative; z-index: 10; }

#home section#movie {
	margin-bottom: 14vw;
}

h2.sectionTit{
	font-size: 18px;
	letter-spacing: 1.1em;
	margin-bottom: 180px;
	position: relative;
}
h2.sectionTit::after,
h2.sectionTit::before{
	display: block;
	content: '';
	width: 16px;
	height: 1px;
	background: #000;
	left: 0;
	position: absolute;
	bottom: -46px;
}
h2.sectionTit::after{ bottom: -50px;}
.tit{ font-size: 14px; }
.date{ font-size:11px; font-size: 0.8vw; letter-spacing:0.1em; margin-bottom: 5px;}
.infoList [class^="cat"],
.infoDetail [class^="cat"],
.thumbList [class^="cat"],
.contentsList [class^="cat"],
.discoDetail [class^="cat"]{
	display: inline-block;
	font-size: 10px;
	line-height: 0;
	border: 1px solid #ccc;
	padding: 10px 11px 8px;
	margin-right: 10px;
}

.new{ display: inline-block; font-size: 10px; color: #fb4968; margin-left: 10px; }

/* bg */
#home #schedule,
#home #twitter{ background: none;}

#info::after,
#movie::before,
#movie::after {
	content: '';
	display: block;
	width: 106%;
	height: 50%;
	height: 70vh;
	background: #fff;
	transform: rotate(-15deg) skew(-15deg);
	-webkit-transform: rotate(-15deg) skew(-15deg);
	position: absolute;
	bottom: -200px;
	bottom: -13vw;
	left: -3%;
	z-index: 1;
}
#movie::before{ bottom: inherit; top: -210px; top: -13vw; }
/*
#twitter::after{ height: 31vw; bottom: -300px; bottom: -18vw; }
*/

/* infoList */
.infoList li:not(:last-child){ margin-bottom: 30px; }
.infoList li a{
	display: block;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	padding-top: 10px;
	padding-top: 0.7vw;
}
.infoList li a .thumb{
	width: 6.5vw;
	float: left;
	border: 1px solid #f0f0f0;
	margin-right: 2%;
}
.infoList li a .arrow{
	margin-top: -5px;
	position: absolute;
	left: -35px;
	top: 50%;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.infoList li a .arrow svg{ width: 23px; height: 9px; }
.infoList li a:hover{ padding-left: 40px; }
.infoList li a:hover .arrow{ left:0;  }


/* categoryList */
.categoryList{ margin: 0 0 100px -14px; margin: 0 0 6vw -14px; }
.categoryList li{ display: inline-block; 	font-size: 11px; letter-spacing: 0.05em; margin: 0 14px;}
.categoryList li a,
.categoryList li.current{ display: block; text-decoration: none; padding: 0; position: relative; }
.categoryList li.current{ display: inline-block; }
.categoryList li a::before,
.categoryList li.current::before{
	content:'';
	display:block;
	width: 100%;
	height:1px;
	background: #000;
	position: absolute;
	bottom: -4px;
	left:0;
	-moz-transform: scaleX(0);
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-moz-transform-origin: right;
	-webkit-transform-origin: right;
	transform-origin: right;
	-moz-transition: transform 0.7s cubic-bezier(.19,1,.22,1);
	-webkit-transition: transform 0.7s cubic-bezier(.19,1,.22,1);
	transition: transform 0.7s cubic-bezier(.19,1,.22,1);
}
.categoryList li.current a::before,
.categoryList li.current::before{
	transform: scaleX(1);
	-moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
}
.categoryList li a:hover::before{
	-moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	transform-origin: left;
}

.categoryList li.cat1 a::before,
.categoryList li.cat1.current::before,
.categoryList li.cat4 a::before,
.categoryList li.cat4.current::before{ background: #f19bc2; }

.categoryList li.cat2 a::before,
.categoryList li.cat2.current::before,
.categoryList li.cat5 a::before,
.categoryList li.cat11 a::before,
.categoryList li.cat5.current::before,
.categoryList li.cat11.current::before{ background: #6cc5e0; }

.categoryList li.cat6 a::before,
.categoryList li.cat12 a::before,
.categoryList li.cat6.current::before,
.categoryList li.cat12.current::before{ background: #986ad6; }

.categoryList li.cat3 a::before,
.categoryList li.cat3.current::before,
.categoryList li.cat7 a::before,
.categoryList li.cat13 a::before,
.categoryList li.cat7.current::before,
.categoryList li.cat13.current::before{ background: #0089ff; }

.categoryList li.cat8 a::before,
.categoryList li.cat14 a::before,
.categoryList li.cat8.current::before,
.categoryList li.cat14.current::before{ background: #66c0e2; }

.categoryList li.cat9 a::before,
.categoryList li.cat9.current::before{ background: #fdbf0f; }

.categoryList li.cat10 a::before,
.categoryList li.cat16 a::before,
.categoryList li.cat10.current::before,
.categoryList li.cat16.current::before{ background: #777; }

.categoryList li.cat15 a::before,
.categoryList li.cat15.current::before{ background: #ff7c7c; }


/* heroImg
--------------------- */
#heroImg,
#heroImg #bg,
#heroImg #bg div{ height: 800px; height: 100vh; min-height: 660px;}
#heroImg #bg img{
	width: 100%;
	height: 100%;
	background: no-repeat center bottom;
	background-size: 100% auto;
	transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-webkit-transition: all .8s ease-out;
	transition: all .8s ease-out;
}

#home #heroImg{ padding: 0; margin: 0 auto;}
#heroImg .heroImgBox{
	width: 240px;
	height: 130px;
	margin-top: -145px;
	margin-left: -120px;
	position: absolute;
	left: 50%;
	top: 30%;
}
#heroImg .heroImgBox a{ display: block; position: absolute; top: 41px; }
#heroImg .heroImgBox svg{ fill:#a5ffcb; width: 100%;}
#heroImg .heroImgBox #logo0317 svg{ width: 100%; fill:#777;}
#heroImg .heroImgBox #logo1115 svg{ width: 100%; fill:#909090;}
#heroImg .heroImgBox #logo220428 svg{ width: 100%; fill:#F4DEEB;}
#heroImg .heroImgBox #logo220905 svg{ width: 100%; fill:#FFFFFF;}
#heroImg .heroImgBox #logo230616 svg{ width: 100%; fill:#00d9f3;}


#heroImg .heroImgBox a svg{
	width: 170px;
	height: 21px;
}
#heroImg .heroImgBox a:hover{ opacity: 0.5; }

.scroll{ bottom: 41px; bottom: 3vw;}

.bt,.br,.bb,.bl{
	display: block;
	background: #fff;
	position:absolute;
	z-index: 10;
	-webkit-transition: all .6s ease-out .4s;
	transition: all .6s ease-out .4s;
}
.bt,.bb{ width: 100%; height: 40px; height: 3vw;}
.br,.bl{ width: 40px; width:3vw;height: 100%; }
.bt,.bl{ top:0; left:0;}
.bb,.br{ bottom:0; right: 0;}

.bl{ left:-40px; left: -3vw; }
.br{ right:-40px; right: -3vw; }
.bt{ top:-40px; top: -3vw; }
.bb{ bottom:-40px; bottom: -3vw; }

.loaded #heroImg #bg img{ transform: scale(1); -webkit-transform: scale(1); }
.loaded .bl{ left: 0; }
.loaded .br{ right: 0; }
.loaded .bt{ top: 0; }
.loaded .bb{ bottom: 0; }

/* bnrArea
--------------------- */

#home #bnrArea{ overflow: hidden; padding-top: 0;margin-bottom: 0;}
#home #bnrArea a{ display: block; }
#home #bnrArea a:hover{ opacity:0.5; }
/* slick */
.slick-track { padding: 20px 0; }
.slick-slide{ margin: 0 10px; }
.slick-slide img { -webkit-transition: all .3s ease; transition: all .3s ease; }
.slick-prev,
.slick-next {
	display: block;
	width: 50px;
	height: 50px;
	background: #fff;
	color: #000;
	font-size: 0;
	line-height: 0;
	padding: 0;
	position: absolute;
	top: 85px;
	top: 5vw;
	z-index: 99;
	cursor: pointer;
	border: none;
	outline: none;
}
.slick-prev { left: -50px; -webkit-transition: all .3s ease; transition: all .3s ease;}
.slick-next { right: -50px; -webkit-transition: all .3s ease; transition: all .3s ease;}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus { color: transparent; outline: none;  }

.slick-prev::after,
.slick-next::after {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border-right: 1px solid #000;
	border-top: 1px solid #000;
	position: absolute;
	top: 14px;
	left: 18px;
}
.slick-prev::after{  -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
.slick-next::after{ left: 10px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.slick-slider:hover .slick-prev{ opacity:1; left: 0; -webkit-transition: all .3s ease; transition: all .3s ease; }
.slick-slider:hover .slick-next{ opacity:1; right: 0; -webkit-transition: all .3s ease; transition: all .3s ease; }

.slick-slider .slick-prev:hover::after,
.slick-slider .slick-next:hover::after{ opacity:0.5; -webkit-transition: color .3s ease; transition: color .3s ease;}

.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots{
	display: block;
	width: 100%;
	list-style: none;
	text-align: center;
	padding: 0;
	margin: 0;
	position: absolute;
	bottom: -24px;
}
.slick-dots li{
	display: inline-block;
	width: 30px;
	height: 20px;
	position: relative;
	padding: 0;
	margin: 0 ;
	cursor: pointer;
}
.slick-dots li button{
	display: block;
	width: 20px;
	height: 20px;
	font-size: 0;
	line-height: 0;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before{ opacity: 1; }
.slick-dots li button:before{
	content: '';
	width: 8px;
	height: 8px;
	line-height: 20px;
	text-align: center;
	background: #ddd;
	border-radius: 8px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: absolute;
	top: 6px;
	left: 6px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.slick-dots li.slick-active button:before {background: #999;}
.slick-dots li:hover button:before {
	background: #fff;
	transform: scale(1.4);
	-webkit-transform: scale(1.4);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

/* schedule
--------------------- */
#schedule .infoList .date{ float: left; line-height: 100%; margin-right: 2%; }
#schedule .infoList .md{
	display: inline-block;
	font-weight: 100;
	font-size: 37px;
	font-size: 2.1vw;
	letter-spacing: 0.1em;
	margin-bottom: 17px;
}
#schedule .infoList .year{
	display: block;
	font-size: 14px;
	font-size: 0.95vw;
	letter-spacing: 0.05em;
	text-align: center;
}
#schedule .infoList li{ position: relative; }
#schedule .infoList li:not(:last-child){ margin-bottom: 20px; }
#schedule .infoList li a .text{ margin-top: -10px;}
#schedule .infoList li a .arrow{margin-top: -0.8%;}
#schedule .infoList li a [class^="cat"]{ margin-bottom: 10px; margin-right:0;}
#schedule .more{ bottom: -60px; bottom: -3vw; }


/* movie
--------------------- */
#movie li{
	width: 48%;
	float: left;
	margin: 0 4% 40px 0;
	margin: 0 4% 2.5vw 0;
	position: relative;
}
#movie li:nth-child(even){ margin-right: 0; }
#movie .movieList .thumb img{
	width: 100%;
	background: no-repeat center;
	background-size: cover;
	cursor: pointer;
}
#movie .movieList .thumb::after{
	content:'';
	display: block;
	width: 65px;
	height: 65px;
	background: url(/static/equallove/official/cmn/ico_play.png) no-repeat center;
	background-size: contain;
	margin-left: -32.5px;
	margin-top: -32.5px;
	position: absolute;
	top: 50%;
	left: 50%;
}

/* twitter
--------------------- */
#home #twitter {
	margin: 0;
	/*
	padding-bottom: 300px;
	padding-bottom: 29vw;
	padding-bottom: 24vw;
	*/
	padding-top: 0;
	padding-bottom: 160px;
}

/* footer
--------------------- */
#home .footerImg{ 
	line-height: 0;
	position: relative;
}
#home #footer { 
	padding: 160px 0 40px;
}
#home #footer:before {
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transform: skewY(-15deg);
    will-change: transform;
    z-index: -1;
	background: url(/static/equallove/official/cmn/bg_stripe.png) center;
	background-size: 6px;
	background-position: 2px 5px;
	height: 200%;
}

#home #footer .snsList {
	display: flex;
	justify-content: center;
	margin-bottom: 60px;
}
#home #footer .snsList li {
	margin-right: 20px;
}
#home #footer .snsList li:last-child {
	margin-right: 0;
}
#home #footer .snsList li a {
	text-decoration: none;
	width: 60px;
	height: 60px;
	background: #ea6c81;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100px;
	color: #fff;
	font-size: 20px;
}

.footerImg{ position: relative; }


#footer{
	width: 100%;
	text-align: center;
	padding-bottom: 30px;
	position: relative;
}
#footer .snsList {
	display: none;
}
.detail #footer{ position: absolute; bottom: 0;}
#footer h1{
	width: 90px;
	width: 6vw;
	margin: 0 auto 60px;
	position: relative;
}
#footer p{ display: inline-block; }
#footer a{ display: block;}
#footer a:hover{ text-decoration: none; }
#footer .bnrArea{ width: 70%; margin: 0 auto 50px; }
#footer .bnrArea li{ display: inline-block; width: 22%; margin-right: 3%; }
#footer .bnrArea li:last-child { margin-right: 0; }
#footer .bnrArea li a:hover, #footer .offer a:hover{ opacity: 0.5; }
#footer .mail{
	display: block;
	font-size: 13px;
	letter-spacing: 0.05em;
	margin-bottom: 30px;
}

#footer .offer{
  line-height: 0;
  padding: 0 0 50px;
  width: 20%;
}


#footer .mail a{ text-decoration: none; position:relative; left:0;}

#footer .mail a span{
	display: inline-block;
	width: 20px;
	height: 18px;
	position: relative;
	top: 1px;
	overflow: hidden;
}
#footer .mail a span svg{
	display: block;
	width: 16px;
	height: 9px;
	position: absolute;
	top: 1px;
	left: -22px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	top: 8px;
}
#footer .mail a:hover i{ left: 30px; }
#footer .mail a:hover svg{ left: 0; }
#footer .mail a i{
	display: inline-block;
	margin-right: 10px;
	position: absolute;
	top: 6px;
	left:0;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
#footer .yoani{
	display: block;
	width: 12%;
	margin: 0 auto 20px;
}
#footer .yoani:hover{ opacity: 0.5; }
#footer .copy{ font-size: 10px; }


/* detail
================================ */
/* cmn
--------------------- */
.detail section{
	width: 65%;
	padding-top: 210px;
	padding-top: 14vw;
	padding-bottom: 400px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
.detail #container::before,
.detail #container::after{
	content: '';
	display: block;
	width: 105%;
	height: 220px;
	height: 20vw;
	background: url(/static/equallove/official/cmn/bg_stripe.png) center;
	background-size: 6px;
	top: -220px;
	top: -18vw;
	left: -3%;
	transform: rotate(-15deg) skew(-15deg);
	-webkit-transform: rotate(-15deg) skew(-15deg);
	padding-bottom: 16%;
	padding-bottom: 13vw;
	position: absolute;
	z-index: 1;
}

.detail #container::after{
	height: 430px;
	top: inherit;
	bottom: -210px;
	padding: 0;
}
.detail #footer *{ position: relative; z-index:10;}
.detail #footer h1,
.detail #footer .bnrArea{ display: none; }

.detail #navBtn span{ background: #000; }
.detail.menuOpen #navBtn span{ background: #fff; }
.detail.menuOpen #navBtn{ right: 50px; right: 3vw; }


/* info
--------------------- */
.infoDetail .tit{ font-size: 28px; font-size:2vw; line-height: 140%; margin-bottom: 5px;}
.infoDetail .date{ margin-bottom: 5px; }
.infoDetail .text{ margin-top: -10px; }
.infoDetail [class^="cat"]{ margin-bottom: 10px;}
/* shareList */
.shareList{
	color: #000;
	font-size: 10px;
	text-align: right;
	margin: 20px auto 80px;
	position: relative;
}
.shareList ul{ display: inline-block; position: relative; }
.shareList li{ display: inline-block; margin-right: 5px;vertical-align: middle;}
.shareList a{
	display: block;
	background: none;
	line-height:30px;
	text-align: center;
	color:#000;
	font-size: 14px;
	position: relative;
	margin-bottom: 3px;
}
.shareList .fa{vertical-align:-2px;}
.shareList .facebook .fa{ position: relative; left: -1px; }
.shareList .lineIco{ display: none; }

/* schedule
--------------------- */

#schedule .calendarHeader,
#schedule .calendar .weekHeader,
#schedule .calendar .calendarBody{
	display: flex;
	display: webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#schedule .calendar .weekHeader div{
	font-size: 13px;
	padding-bottom: 5px;
}
#schedule .calendar .weekHeader div,
#schedule .calendar .calendarBody div > div{
	width: calc( ( 100% / 7 ) - 1px);
	text-align: center;
	border-right: 0.5px solid #000;
	border-bottom: 0.5px solid #000;
}
#schedule .calendar .calendarBody > div{
	width: 100%;
	display: flex;
	display: webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0;
}
#schedule .calendar .weekHeader div{ border: none; border-bottom: 0.5px solid #000; }
#schedule .calendar .week > div:nth-child(1){ border-left: 0.5px solid #000; }
#schedule .calendar .weekHeader div:nth-child(6),
#schedule .calendar .week > div:nth-child(6) .date{ color: #64a4f3; }
#schedule .calendar .weekHeader div:nth-child(7),
#schedule .calendar .week > div:nth-child(7) .date{ color: #f95d5d; }

#schedule .calendar .calendarBody .cell{
	min-height: 100px;
	text-align: left;
	padding: 0 5px 5px;
}
#schedule .calendar .calendarBody .cell > div{
	width: 100%;
	border: none;
}
#schedule .calendar .calendarBody .cell > div:not(:last-child){
	margin-bottom: 5px;
}
#schedule .calendar .calendarBody .cell > div a{
	display: block;
	text-align: left;
	text-decoration: none;
	font-size: 8px;
	line-height: 140%;
	word-break: break-all;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.cell a{ color: #000; }
.cell a span{
	display: inline-block;
	font-size: 8px;
	padding: 3px 4px 2px;
	line-height: 1;
	margin-bottom: 4px;
}
.cell a .cat{ color:#fff; }
.cell a .tit{
	font-size: 12px;
	line-height: 140%;
	word-break: break-all;
}
#schedule .calendar .calendarBody .cell > div a:hover{ opacity: 0.6; }
.form__checkbox label p {
	font-size: 11px;
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: 0.06em;
	display: block;
	padding: 0.5em 1em;
	position: relative;
	cursor: pointer;
	color: #aaa !important;
	border: 1px solid #aaa !important;
	border-radius: 20px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.form__checkbox li label p:hover { color: #fff; }
.form__checkbox li:nth-child(1) label p { color: #f9769f; }
.form__checkbox li:nth-child(1) label p:hover { background: #f9769f; color: #fff !important; border-color: #f9769f !important;}
.form__checkbox input[type="checkbox"] {
	-webkit-appearance: none;
	width: 0;
	height: 0;
	opacity: 0;
	position: absolute;
}
.form__checkbox.form__error { color: #f33; }
.form__checkbox :checked ~ p{ background: inherit;  color: #fff !important; }
.form__checkbox li:nth-child(1) :checked ~ p{ background: #f9769f; color: #fff;border-color: #f9769f !important; }
.form__checkbox :checked ~ p:hover{ opacity: 0.5; }

.calendarHeader{ margin-bottom: 50px; }
.calendarHeader li{ width: calc( (100% / 3 ) - 0.1% ); }
.calendarHeader li a{
	display: inline-block;
	font-size: 14px;
	text-decoration: none;
	position: relative;
	top: 9px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	left:0;
}
.calendarHeader li div{ opacity: 0.3; }
.calendarHeader li svg{
	width: 18px;
	height: 11px;
	padding-left: 5px;
	position:relative;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	left:0;
}
.calendarHeader li:nth-child(1) a{
	right:0;
	left: inherit;
}
.calendarHeader li:nth-child(1) svg{
	transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
	right:0;
	left: inherit;
}
.calendarHeader li:nth-child(1){ text-align: left; }
.calendarHeader li:nth-child(2){ text-align: center; }
.calendarHeader li:nth-child(2) .year{ display: inlnie-block; padding-right: 5px; }
.calendarHeader li:nth-child(2) .month{ font-size: 46px; font-weight: 300; }
.calendarHeader li:nth-child(2) .month_en{ display: inlnie-block; padding-left: 5px; }
.calendarHeader li:nth-child(3){ text-align: right; }
.form--horizontal li{ display: inline-block; margin: 0 2px; }
.calendarHeader li:nth-child(1) a:hover{ right: 10px; }
.calendarHeader li:nth-child(1) a:hover svg{ right: 5px; }
.calendarHeader li:nth-child(3) a:hover{ left: 10px; }
.calendarHeader li:nth-child(3) a:hover svg{ left: 5px; }

.scheduleList .calendarHeader{
	border-bottom: 1px solid #ddd;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
.scheduleList .infoList{ overflow: hidden; }
.scheduleList .infoList a .tit{ color: #000; }
.scheduleList .infoList .date{ margin-top: 12px; width: 28px; width: 2.4vw; position: absolute;}
.scheduleList .infoList .text{ position: relative; top: -2px; left: 6%;}
.scheduleList .infoList .text .entry{ position: relative; top: -19px; left: 0;}
.scheduleList .infoList li > div:not(.text){ position: relative; top: -20px; left: 6%;}
#schedule .scheduleList .infoList li:not(:last-child) { margin-bottom: 0; }
.scheduleList .infoList li a{
	padding-top: 20px;
	border-bottom: 1px solid #ddd !important;
	padding-bottom: 20px;
}

#schedule .btn{
	position: absolute;
	right: 0;
	margin-top: -8.5vw;
}
.btn .change{
	display: block;
	width: 38px;
	height: 38px;
	font-family: "Comfortaa";
	font-weight: 600;
	font-size: 19px;
	line-height: 100%;
	text-decoration: none;
	text-align: center;
	background: #000;
	color: #fff;
	border-radius: 33px;
	padding: 10px 0 10px;
}
.btn .change:hover{
	opacity: 0.5;
}
.btn .change i{
	display: block;
	margin-bottom: 2px;
}



#schedule.detail .infoDetail .tit{ margin-bottom: 0; }
#schedule.detail .infoDetail .date{ line-height: 100%; margin-bottom: 15px; }
#schedule.detail .infoDetail .md{ display: inline; font-weight: 100; font-size: 22px; letter-spacing: 0.1em; }
#schedule.detail .infoDetail .year{ display: inline-block; font-size: 14px; text-align: center; margin-right: 5px; }
#schedule.detail .infoDetail .new{ font-size: 14px; margin-left: 6px; }
#schedule.detail .infoDetail [class^="cat"]{ vertical-align: 3px; margin-right: 0;}


/* profile
--------------------- */
.profileList li{ width: 30%; float: left; margin: 0 5% 30px 0; position: relative;}
.profileList li:nth-child(3n){ margin-right: 0; }
.profileList a{ display: block; text-decoration: none;}
.profileList li .thumb{ line-height: 0; overflow: hidden; }
.profileList .thumb img{ background: no-repeat center top; background-size: cover; }
.renewIcon .profileList .name { display: inline-block; }
.profileList .name span{ display: block; font-size: 11px; }
.profileList .snsList { float: right; clear: both; }
.profileList .snsList li {
    display: inline-block;
    width: 20px;
    margin: 0px 0 0 8px;
}
.profileList .snsList .instagram { margin-left: 6px; }
.profileList .snsList a { font-size: 20px; margin: 0; }
.profileList .snsList a img { width: 100%; }
.profileList .snsList .fa { vertical-align: super; }
.profDetail .ph {
	width: 45%;
	float: left;
	margin-right: 7%;
	position:relative;
}
.profDetail .ph img{
	width: 100%;
	background-size: contain;
	background-repeat: no-repeat;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
	user-select:none;
	aspect-ratio: 2/3;
  padding-top: 66.666%;/*aspect-ratio未対応ブラウザ用*/
}
.profDetail .statusArea{ overflow: hidden; }
.profDetail .statusArea p{
	font-size: 28px;
	font-size: 2vw;
	padding-top: 90px;
	padding-top: 11vw;
	margin-bottom: 30px;
}
.profDetail .statusArea span{
	display: block;
	font-size: 11px;
	letter-spacing: 0.05em;
	margin-top: 3px;
}
.profDetail dl{
	 margin-bottom: 30px;
	 display: flex;
	 flex-wrap: wrap;
}
.profDetail dt{
	margin-bottom: 7px;
	width: 10%;
	color: #999;
	font-size: 11px;
}
.profDetail dd{ 
	margin-bottom: 7px;
	width: 90%;
}
.profDetail .snsList li{ width: 30px; }
.profDetail .snsList a {
	display: block;
	font-size: 16px;
	color: #fff;
	background: #000;
	border-radius: 9px;
	text-align: center;
	position: relative;
}
.profDetail .snsList a img{ width: 100%; }
.profDetail .snsList .twitter a,
.profDetail .snsList .instagram a{ top: -8px; height: 30px; line-height: 32px; }
.profDetail .snsList .tiktok a{ top: -8px; height: 30px; line-height: 32px; }


/* about
--------------------- */
#about .lead{
	font-size: 28px;
	font-size: 2.2vw;
	line-height: 180%;
	text-align: left;
	margin-bottom: 80px;
}
#about p{ margin-bottom: 20px; }
#about .messeage{
	border: 11px solid #eee;
	padding: 35px;
	margin-top: 70px;
}
#about .messeage span{ display: block; text-align: right; margin-top: 10px;}


/* producer
--------------------- */
#producer{ display:block; }
#producer .ph{ position:relative;  }
#producer .textArea{ overflow: hidden; padding-top: 3px; padding-top: 0.3vw; }
#producer .textArea .name span{ display: inline-block;  }
#producer dl{ margin-bottom: 15px;}
#producer dt{ float: left; }
#producer dd{ padding-left: 70px; margin-bottom: 5px; }
#producer dl + p{ font-size: 0.75rem; line-height: 1.9; margin-bottom: 10px;}
.snsList li{ display:inline-block; margin-right: 5px; }
.snsList li a{ display:block; font-size: 18px;}
.snsList li a img{ display: block; width: 16px; }

#producer .ph{ width: 40%; float: left; margin-right: 40px; }
#producer .textArea .name{
	font-size: 28px;
	font-size: 2vw;
	margin-bottom: 20px;
 }
#producer .textArea .name span{
	font-size: 11px;
	font-weight: 300;
	letter-spacing: 0.17em;
	vertical-align: 7px;
	margin-left: 10px;
}
#producer .snsList{ margin-bottom: 20px; }
.snsList li a:hover{ opacity:0.5; }


/* faq
-------------------------------- */
.faqList dt { padding: 15px 40px 15px 38px; }
.faqList dd{ padding: 15px 40px 15px 38px; border-top: 1px dashed #C7E8FA; }
.faqList dt:before,
.faqList dd:before { font-weight: 400; font-size: 18px; vertical-align: -1px; margin: 0 8px 0 0; }
.faqList dt .switch{ right: 27px; top: 50%; }
#faq .faqTit{ font-size: 22px; margin-bottom: 30px; }


/* discography
--------------------- */
.contentsList li{ width: 30%; float: left; margin: 0 5% 30px 0; }
.contentsList li:nth-child(3n){ margin-right: 0; }
.contentsList a{ display: block; text-decoration: none;}
.contentsList .thumb,
.profileList .thumb,
.movieList .thumb{ line-height:0;overflow:hidden; margin-bottom: 15px; }
.contentsList .thumb img,
.profileList .thumb img,
.movieList .thumb img,
.movieList .thumb img{
	background: no-repeat center top;
	background-size: cover;
	-webkit-transition: all .5s ease-out;
	transition: all .5s ease-out;
}
.contentsList .thumb img:hover,
.profileList .thumb img:hover,
.movieList .thumb img:hover{
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
}

/* detail */
#disco .discoDetail .ph{ width: 45%; float: left; margin-right: 5%; position: relative;}
#disco .discoDetail .jacketList li:not(:last-child){ margin-bottom: 20px; }
#disco .discoDetail .textArea{ width: 50%; overflow: hidden; }
#disco .discoDetail .date{ font-family: "Open Sans"; margin-bottom: 30px; }
.discoDetail [class^="cat"]{ margin-bottom: 20px; }
#disco .discoDetail .cat::after { display: none;}
#disco .discoDetail .tit{
	line-height: 150%;
	font-size: 28px;
	font-size: 2vw;
	margin-bottom: 10px;
}
#disco .discoDetail .txtBlock *{
    word-break: break-all;
}
#disco .txtBlock{ margin-bottom: 50px; }
#disco .discList{ margin-top: 60px;}
#disco .discoDetail .trackTit{font-size: 1rem;}
#disco .trackList li{ margin-bottom: 5px; }
#disco .tieup{ font-size: 0.65rem; padding-left: 1.5em; }



/* error
--------------------- */
#error h2{ opacity:0; }
#error .lead{ font-size: 2rem; margin-bottom: 30px; font-weight: 100; }


/* TABLET
=================================== */
@media screen and (max-width: 1300px){
	body{ font-size:14px; line-height: 170%; }
	#about .lead,
	.infoDetail .tit,
	#disco .discoDetail .tit,
	.profDetail .statusArea  p,
	#producer .textArea .name{ font-size: 28px; }
	.date{ font-size: 11px; }
	#headerNavWrap #headerNav{ width: 38vw; }

	#footer .mail a span { top: 8px; }
	#footer .mail a:hover svg { top: 6px; }
}

@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
	#headerNavWrap #headerNav a svg {
		top: 10%;
	}
}



/* ��ME
=================================== */

.infoMe header, .infoMe #footer .offer{display: none;}

.infoMe .infoList{border-top: 1px solid #ddd;}
.infoMe .infoList li{
  margin: 0;
  padding:0;
  border-bottom: 1px solid #ddd;
}
.infoMe .infoList li a{
  padding-top:29px;
  padding-bottom:25px;
}
.infoMe .infoList li a .arrow{margin-top: -15px;}
.infoMe .infoList li .date{color: #666;}