@charset "utf-8";


body {
  background-color: #fff ;
  font-family: serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.3em;
  color: #373737;
  background-color: #daceab;
}
a {
  font-weight: 700;
  color: #373737;
}
a:hover {
  opacity: 0.5;
}
h1, h2 {
  font-weight: 700;
}
h3, h4, h5 {
  font-weight: 500;
}
p, small, .small {
  font-weight: 300; 
}
footer a {
  color: #373737 !important;
}
#concept h2 {
  line-height: 1.8em;
}
#soul h2 {
  font-family: 'Kaisei HarunoUmi', serif;
}

.accent-color {
  background-color: #3949ab !important;
}
.accent-light{
  background-color: #e8eaf6 !important;
}
.accent-light-5{
  background-color: #3f51b5 !important;
}
.opacity-20{
  opacity : 0.2;
}
.text-light {
  color: #e8eaf6 !important;
}
.text-dark {
  color: #373737 !important;
}

.square{
 	width: 100%;
 	aspect-ratio: 4 / 3;
}
.cover{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.cover-right{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top right;
}
.cover-left{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top left;
}
.btn-floating.btn-xs {
	margin: 5px;
  width: 21.21112px;
  height:21.21112px
}
.btn-floating.btn-xs i {
  font-size: .74519rem;
  line-height:22.5px
}
.positon-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  margin: auto;
}
.vertical, .vertical-md, .vertical-lg {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
@media only screen and (max-width: 576px) {
  .vertical-md, .vertical-lg {
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }
}








.navbar {
    z-index: 1;
}
.navbar {
    background-color: transparent;
}
.logo {
  font-size: 1.5em ;
  font-weight: 500;
  color: #373737;
}
#main_visual h1 {
  color: #fff;
  font-size: 0.7rem;
}
#main_visual a {
  color: #fff;
}
#concept h2 {
  letter-spacing: 0em;
}
.top-info {
  position: absolute;
  top: 15px;
  left: 15px;
}
.top-logo {
  position: absolute;
  width: 150px;
  height: 400px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%)
}
@media only screen and (max-width: 576px) {
  .top-logo {
    width:120px;
    height: 320px;
  }
}

.top-nav {
  position: absolute;
  top: 30px;
  right: 50px;
}
.top-nav{
  text-align: right;
}
.top-nav li{
  display: inline-block;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: left;
  width: 40px;
  height: 200px;
}

#concept {
  line-height: 2em;
  text-align: center;
}
@media only screen and (max-width: 576px) {
  #concept p {
    text-align: justify;
  }
}
#main_visual .container-fluid {
  height: 80vh;
}

.btn-carret {
  position: relative;
  display: inline-block;
  width: 350px;
  padding: 20px 20px;
  text-align: left;
  border: 1px solid #000;
  border-right: 20px solid #000;
}
.btn-carret.black {
  width: 100%;
  border: none;
  background-color: #000;
}

.btn-carret::before {
  color: #ddd;
  content: "▶︎";
  position: absolute;
  right: -14px;
  top: 50%;
  margin-top: -7px;
  font-size: 0.5rem;
}

.btn-carret.black::before {
  top: 45%;
  right: 14px;
}
.food-copy {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40%;
  right: 40%;
  background-color: rgba(0,0,0,0.5);
  color: #e8e8e8;
}

.sheet-title {
  position: absolute;
  top: 25%;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
  color: #e8e8e8;
}
.sheet-title.counter-type{
  left: 80%;
  right: 0;
}
@media only screen and (max-width: 576px) {
  .sheet-title.counter-type{
    left: 0;
    right: 80%;
  }
}
.sheet-title.table-type{
  left: 0;
  right: 80%;
}

.food-copy {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40%;
  right: 40%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  color: #e8e8e8;
}

@media only screen and (max-width: 1200px) {
  .food-copy .h3 {
    font-size: 1.5rem;
    height: 80%;
  }
}

@media only screen and (max-width: 640px) {
  .food-copy .h3 {
    font-size: 1rem;
  }
}

#movie video {
  width: 100%;
}

.content-center{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.view-all {
  background-color: #373737;
}

div#share{
	display: inline-block;
}
/* ページTOP */
#page-top {
	width: 64px;
	height: 64px;
	position: fixed;
	right: 15px;
	bottom: 15px;
	/* メインカラー */
	background-color: #222;
	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="%23666666" 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: #222;
    -webkit-border-radius: 32px;
    -moz-border-radius: 32px;
}

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

@media only screen and (max-width: 576px) {

  #main_visual .container-fluid{
    height: 100vh;
  }

  .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;
}



