@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?Noto+Sans+JP:wght@300;500;700&family=Playfair+Display:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Luxurious+Script&family=Noto+Serif+JP:wght@900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DotGothic16&family=Luxurious+Script&family=Train+One&display=swap');

body {
  font-family: 'Helvetica Neue, Noto Sans JP', sans-serif;
  font-weight: 300;
  background-color: #fff ;
  color: #373737;
}
a {
  color: #373737;
}
a:hover {
  opacity: 0.8;
}
::placeholder {
	font-size: .75rem;
	color: #999 !important;
}
.view-all {
  background-color: #373737;
}
.gold {
	background-color: #cdb45d;
}
.accent-color {
  background-color: #3949ab !important;
}
.accent-light{
  background-color: #c5cae9 !important;
}
.accent-light-5{
  background-color: #3f51b5 !important;
}
.opacity-20{
  opacity : 0.2;
}
.text-light {
  color: #e8eaf6 !important;
}


.logo {
	display: inline-block;
	margin: 0.6em ;
  font-size: 2em ;
  font-family: 'Luxurious Script', cursive;
  color: #e8eaf6;
}

.logo:hover {
  color: #e8eaf6;
  opacity: .6;
}

.logo-font {
  font-size: 1.5em ;
  padding-left: 0;
  margin-left: 0;
  font-family: 'Luxurious Script', cursive;
}

@media only screen and (max-width: 640px) {
	.logo {
		margin: 0;
	}
}
.logo img:nth-child(1) {
  width: 50px;
}
.logo img:nth-child(2) {
  width: 130px;
}
.nav-toggler {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
	color:white;
}
.nav-collapse {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
}
.nav-collapse ul {
  list-style: none;
}
.nav-collapse li {
  display: inline-block;
  padding: 1.8em 2.7em;
  text-align: center;
}
.nav-collapse li a {
  text-decoration: none;
  color: #fff;
  font-weight: bold;
}
.nav-dark .nav-collapse li a {
  text-decoration: none;
  color: #666;
  font-weight: bold;
}

header nav {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  width: 100%;
  z-index: 1000;
}

@media only screen and (max-width: 640px) {
	header nav {
	  position: fixed;
	  top: 0;
	  left: 0;
	  margin: 0;
	  width: 100%;
	  z-index: 1000;
	}
	.nav-ctl {
		border-bottom: 1px solid #ddd;
		padding: 1em 1em 2.5em 1em;
	}
	.nav-collapse {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: #fff;
	}
	.nav-collapse.active {
		display: block;
	}
 .nav-collapse ul {
 		display: block;
 		width: 100%;
 		padding: 0 2em;
 		margin: 2em 0;
  	list-style: none;
	}
	.nav-collapse li {
	  display: block;
 		padding: 1em 0 ;
 		margin: 0;
	  text-align: left;
	}
	.nav-collapse li a {
	  text-decoration: none;
	  color: #666;
	  font-weight: bold;
	}
	.nav-collapse .contact a {
	  color: #fff;
	}
	.nav-collapse .contact {
		margin-top: 1em;
		text-align: center;
	}
}

/** メインビジュアル **/

#main_visual .bg {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  color: #fff;
}
#main_visual .bg.-visible:before {
  transform: translate(0, 0);
}
#main_visual .bg:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	background: top center / cover no-repeat url(/assets/img/group/mainnew.png);
  transform: translate(0, 100%);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  content: '';
}



.title,
.bg .logo-font {
  display: block;
  text-align: center;
}
.title span,
.bg .logo-font {
  display: block;
  opacity: 0;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity linear 0.9s;
}
.logo-font img {
	width: 100px;
}
.title span:nth-child(1) {
  transform: translate(0, 50px);
  transition-delay: 0.55s;
}
.title span:nth-child(2) {
  transform: translate(0, 40px);
  transition-delay: 0.75s;
}
.title span:nth-child(3) {
  transform: translate(0, 30px);
  transition-delay: 0.95s;
}
.bg .logo-font {
  transform: translate(0, 10px);
  transitio,n-delay: 0.55s;	
}
.bg.-visible .title span,
.bg.-visible .logo-font {
  opacity: 1;
  transform: translate(0, 0);
}

@media only screen and (max-width: 640px) {
	#main_visual .bg {
	height: 70vh;
	}
	#main_visual .bg:before {
		background: top center / cover no-repeat url(/assets/img/group/bg-sp2.jpg);
	}
	.title {
		margin-top: 100px;
	}
}

#main_visual h1 {
  font-weight: 700;
	font-size: 5rem;
}
#main_visual h1 .st {
	letter-spacing:0.32em;
	margin-left:20px;
}
@media only screen and (max-width: 640px) {
	#main_visual h1 {
		font-size: 3rem;
	}
	#main_visual h1 .st {
		margin-left:10px;
	}
}

/** TEST */
#main_visual h1.title2 {
	font-family: 'Noto Serif JP', serif;
	font-size: 4rem;	
}

#main_visual h1.title3 {
	font-family: 'Train One', cursive;
	font-size: 4rem;	
}


#bussiness {
	background: top right / cover no-repeat url(/assets/img/group/logo-light.png);
	background-size: 30%;
}


#news p {
	line-height: 2em;
}
#news p time {
	font-size: 0.6rem;
	font-weight: 700;
	margin-right: 2em ;
}
#news p span {
	font-size: 0.6rem;
	padding: 0.3em 0.7em;
	margin-right: 2em ;
	border: 1px solid #373737;
}


@media only screen and (max-width: 640px) {
	#news p time {
		font-size: 0.6rem;
		font-weight: 700;
		margin-right: 2em ;
	}
}

h2 small {
	margin-left: 1em ;
	font-size: 0.6em;
	font-weight: 100;
}
h2, .h2 {
  font-weight: 200;
}
h3, h4, h5 {
  font-weight: 500;
}
p, small, .small {
  font-weight: 300; 
}


/**ユーティリティ**/

.square{
 	width: 100%;
 	aspect-ratio: 4 / 3;
}
.cover{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.x-small {
	font-size: 0.37em;
	vertical-align: super;
}
.btn-floating.btn-xs {
	margin: 5px;
  width: 21.21112px;
  height:21.21112px
}
.btn-floating.btn-xs i {
  font-size: .74519rem;
  line-height:22.5px
}
div#share{
	display: inline-block;
}
/* ページTOP */
#page-top {
	width: 64px;
	height: 64px;
	position: fixed;
	right: 15px;
	bottom: 15px;
	/* メインカラー */
	background-color: #373737;
	border-radius: 32px;
	-webkit-border-radius: 32px;
	-moz-border-radius: 32px;
}
#page-top a:hover {
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	-moz-opacity:0.8;
	-khtml-opacity: 0.8;
	opacity:0.8;
}
#page-top a {
    width: 64px;
    height: 64px;
    display: block;
    text-align: left;
    text-indent: -200em;
    overflow: hidden;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="32,26"><polygon fill="%23e8eaf6" points="32 25.85 16 9.85 0 25.85 0 16 16 0 32 16 32 25.85" /></svg>');
    background-size: 64px 64px;
    background-position: 16px 16px;
    border-radius: 32px;
    background-color: #373737;
    -webkit-border-radius: 32px;
    -moz-border-radius: 32px;
}

.footer-link {
	margin: 0px 40px;
}

@media only screen and (max-width: 640px) {
  .footer-link {
  	display: inline-block ;
  	width: 49% ;
  	margin: 0px;
    padding: 10px 0px ;
  }
}

/* --------------------- HEADER IMAGE */
.slick-image {
	width: 100%;
}

.slick-image li {
	width: 100%;
	overflow: hidden;
}

.slick-image li img {
	margin: 0 auto 0 auto;
	width: 100%;
	text-align: center;
}

/* スライダーのCSSへ追記 */
.slick-image .slick-dots {
	bottom: 5px;
}

.slick-image .slick-dots li button:before,
.slick-image .slick-dots li.slick-active button:before {
	color: rgba(255, 255, 255, 0.8);
	font-size: 40px;
}

.slick-image .slick-dotted.slick-slider {
	margin-bottom: 0;
}


.box {
	padding: 0 10px;
	width: 100%;
	border-bottom: 1px #6d6c6c solid;
}


.slick-video {
	padding: 0 0 20px;
	width: 100%;
}

.slick-video li.slider {
	padding: 0 5px 10px;
}

.slick-video li.slider .mv {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
}

.player-box {
	position: relative;
	padding-top: 56.25%;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
}

.player-box .player {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.player-box .mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.slick-video .slick-dots li button:before,
.slick-video .slick-dots li.slick-active button:before {
	color: rgba(0, 0, 0, 0.8);
	font-size: 40px;
}

.slick-video .slick-dots {
	margin-bottom: 5px;
}

.slick-video .slick-prev,
.slick-video .slick-next {
	display: none;
}



.slick-discograhy {
	padding: 0 0 20px;
	width: 100%;
}

.slick-discograhy li .cover {
	padding: 0 5%;
	width: 90%;
	text-align: center;
}

.slick-discograhy li .cover img {
	width: 100%;
	border: 1px #f78926 solid;
}

.slick-discograhy li .cate,
.slick-discograhy li .cate2 {
	width: 100%;
	display: block;
	font-size: 14px;
}

.slick-discograhy li .cate {
	padding: 5px 0;
	margin: 4px 0;
	background-color: #666;
	color: #fff;
	line-height: 1em;
}

.slick-discograhy .slick-dots li button:before,
.slick-discograhy .slick-dots li.slick-active button:before {
	color: rgba(0, 0, 0, 0.8);
	font-size: 40px;
}

.slick-discograhy .slick-dots {
	margin-bottom: 10px;
}



