@charset "UTF-8";

#container{
	padding: 0 0 150px;
}
h3.h3{
	margin-bottom: 30px;
	font-size: 32px;
	text-align: center;
	line-height: 1;
	font-weight: 300;
	letter-spacing: 0.05em;
}
h3.h3 span{
	font-size: 14px;
	display: block;
	margin-top: 8px;
	font-weight: 500;
}
h3.h3 a{
	color: #000;
	text-decoration: none;
}
h3.h3 a:hover{
	opacity: 0.5;
}
#hd{
	display: none !important;
}
#fakeLoader{
	background-image: url(/lib/cmn_img/loadding_bg.jpg) !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
	background-color: rgba(255,255,255,0)
}
/*#loading {
	background-image: url(/lib/cmn_img/loadding_bg.jpg) !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
  z-index: 99999999 !important;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
	display: none;
	  
}
#fade {
    width: 100%;
    height: 100%;
    display: none;
    background-color: #FFFFFF;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 50;
}
.loader {
	position: relative;
  top: 50%;
  left: 50%;
  width: 280px;
  height: 280px !important;
  margin-top: -140px;
  margin-left: -140px;
  text-align: center;
	background-color: #fff;
  color: #111;
	font-size: 12px;
  z-index: 99999998;
}
.loader::before{
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	right: 3px;
	bottom: 3px;
	border: 1px solid #dddddd;
	width: calc(100% - 6px);
width: -webkit-calc(100% - 6px);
	
}
.loader .whiteBox{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
.loader .whiteBox p{
	letter-spacing: 0.15em;
	margin-top: 8px;
}
.loader .logo img{
	width: 178px;
	height: auto;
}
*/

/*----------------------------------------------------
	☆mv
----------------------------------------------------*/


#topMvArea{
	position: relative;
	width: 100%;
}
#topMvArea::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 70px;
	background-color: #fff;
	bottom: 0;
	left: 0;
}
.vegas-timer{
	bottom: 70px !important;
	height: 3px !important;
}
.vegas-timer-progress{
	background-color: #001a43 !important;
}
#topMvArea #hdTop{
	position:fixed;
	top:0;
	left: 50%;
  transform:translateX(-50%);
  -webkit- transform:translateX(-50%);
	width: 100%;
	height: auto;
	background-color: #fff;
	z-index: 99;
}
#topMvArea #hdTop .gnavArea{
	width: calc(100% - 135px);
	width: -webkit-calc(100% - 140px);
	margin: 0 auto;
	padding: 20px 0;
	font-size: 0;
}
#topMvArea #hdTop.shadow {
    box-shadow: 1px 1px 5px rgba(0,0,0,0.3);
    　 -moz-box-shadow: 1px 1px 5px rgba(0,0,0,0.3);
    　 -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.3);
    　 -moz-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
	z-index: 999;
}
#topMvArea #hdTop .gnavArea .hdLogo{
	display: inline-block;
	vertical-align: middle;
	width: 10%;
}
#topMvArea #hdTop .gnavArea .hdLogo img{
	width: 111px;
	height: auto;
}
#topMvArea #hdTop .gnavArea .gnavList{
	display: inline-block;
	vertical-align: middle;
	text-align: right;
	width: 90%;
}
#topMvArea #hdTop .gnavArea .gnavList > li{
	display: inline-block;
}
#topMvArea #hdTop .gnavArea .gnavList > li a{
	font-size: 13px;
	color: #111;
	text-decoration: none;
	margin-left: 40px;
	letter-spacing: 0.1em;
	position: relative;
  display: inline-block;
  text-decoration: none;
}
#topMvArea #hdTop .gnavArea .gnavList > li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
#topMvArea #hdTop .gnavArea .gnavList > li a:hover::after {
  transform: scale(1, 1);
}
#topMv,#topMv_sp{
	height: 100vh;
	width: calc(100% - 140px);
	width: -webkit-calc(100% - 140px);
	margin: 0 auto;
}
#topMvArea .mainLogo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
#topMvArea .mainLogo img{
	width: 260px;
	height: auto;
}
#topMvArea .copyRight{
	position: absolute;
	top: 50%;
    left: 26px;
	letter-spacing: 0.15em;
	transform: translateY(-50%) ;
    -webkit- transform: translateY(-50%) ;
	 -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
	font-size: 10px;
}
#topMvArea .actionBox{
	position: fixed;
	top: 36%;
    right: 26px;
	letter-spacing: 0.15em;
	transform: translateY(-50%) ;
    -webkit- transform: translateY(-50%) ;
	 -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
	font-size: 10px;
	z-index: 999;
}
#topMvArea .actionBox > li{
	width: 30px;
	height: 30px;
	border-radius: 50%;
	text-align:center;
	display: inline;
}
#topMvArea .actionBox > li a{
	text-decoration: none;
	color: #111;
}
#topMvArea .actionBox > li a{
	padding:40px 13px 20px 13px ;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 31px 31px;
	position: relative;
	margin-bottom: 20px;
}
#topMvArea .actionBox > li.first a{
	background-image: url(../lib/cmn_img/icon01.png);
}
#topMvArea .actionBox > li.last a{
	background-image: url(../lib/cmn_img/icon02.png);
}
#topMvArea .actionBox > li.first a:hover{
	background-image: url(../lib/cmn_img/icon01_on.png);
}
#topMvArea .actionBox > li.last a:hover{
	background-image: url(../lib/cmn_img/icon02_on.png);
}
#topMvArea .actionBox > li.first a::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
  transform: translateX(-50%);
  -webkit- transform:translateX(-50%);
	width: 10px;
	height: 1px;
	background-color: #dfdfdf;
	
}
#topMvArea .newsBox{
	position: absolute;
	bottom:25px;
	left: 50%;
	transform:translateX(-50%);
	-webkit- transform:translateX(-50%);
	max-width: 1000px;
	width : -webkit-calc(100% - 40px) ;
	width : calc(100% - 40px) ;
	height: auto;
	z-index: 99;
}
#topMvArea .newsBox .newsTtl{
	color: #fff;
	font-size: 12px;
	margin-bottom: 5px;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);  
	letter-spacing: 0.1em;
}
#topMvArea .newsBox .newsTtl span{
	font-size: 16px;
	padding-right: 10px;
	margin-right: 10px;
	position: relative;
}
#topMvArea .newsBox .newsTtl span::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) ;
	-webkit- transform: translateY(-50%);
	height: 10px;
	border-right: 1px dotted #fff;
}
#topMvArea .newsBox .newsList{
	margin: 0 auto;
	font-size: 0;
}
#topMvArea .newsBox .newsList > li {
	display: inline-block;	
	vertical-align: top;
	width: 32.333%;
	margin-right: 1%;
}
#topMvArea .newsBox .newsList > li.last{
	margin-right: 0;
}
#topMvArea .newsBox .newsList > li a{
	background-color: #fff;
	display: block;
	padding: 5px;
    box-shadow: 1px 1px 6px rgba(0,0,0,0.3);
    -moz-box-shadow: 1px 1px 6px rgba(0,0,0,0.3);
    -webkit-box-shadow: 1px 1px 6px rgba(0,0,0,0.3);
	background-image:url(../lib/cmn_img/arw01.png) ;
	background-position:  right 10px bottom 6px ;
	background-repeat:  no-repeat ;
	background-size:  15px 5px;
}
#topMvArea .newsBox .newsList > li a:hover{
    box-shadow: 1px 1px 10px rgba(0,0,0,0.6);
    -moz-box-shadow: 1px 1px 10px rgba(0,0,0,0.6);
    -webkit-box-shadow: 1px 1px 10px rgba(0,0,0,0.6);
	background-position:  right 5px bottom 6px ;	
}
#topMvArea .newsBox .newsList > li a .imgArea{
	width: 27%;
	padding-top: 27%;
	display: inline-block;
	vertical-align: middle;
	margin-right:3%; 
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
#topMvArea .newsBox .newsList > li a .txArea{
	display: inline-block;
	vertical-align: middle;
	width: 70%;
	word-wrap: break-word;
    overflow-wrap: break-word;
}
#topMvArea .newsBox .newsList > li a .txArea .day{
	color: #7c7c7c;
	font-size: 11px;
	line-height: 1;
	margin-bottom: 5px;
}
#topMvArea .newsBox .newsList > li a .txArea .tx{
	font-size: 13px;
	color: #111;
}


/*----------------------------------------------------
	☆insta
----------------------------------------------------*/

#insta > .inr_01{
	font-size: 0;
}
#insta ul#instafeed{
	width:83.1666%;
	font-size: 0;
	display: inline-block;
}
#insta ul#instafeed > li{
	width: 19.001%;
	margin-right: 1%;
	display: inline-block;
	line-height: 0;
}
#insta ul#instafeed > li:nth-child(6){
	display: none !important;
}

#insta .nameBox{
	width: 15.8333%;
	margin-right: 1%;
	display: inline-block;
	vertical-align: top;
}
#insta .nameBox .nameBoxIn{
	border: 1px solid #dedede;
	padding-top: 100%;
	position: relative;
	width: 100%;
}
#insta .nameBox .nameBoxIn p{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
	font-size: 12px;
	letter-spacing: 0.1em;
	padding-top: 60px;
	background-image: url(../lib/cmn_img/icon03.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 52px 52px;
	
}
#instafeed li{
position: relative;
padding-top: 19.001%;
}

#instafeed a{
display:block;
position: absolute;
top:0;
left:0;
width: 100%;
height: 100%;
}

#instafeed .object_fit_img{
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
font-family: 'object-fit: cover;'
}


/*----------------------------------------------------
	☆concept
----------------------------------------------------*/
#concept.movebox{
	position: relative;
	z-index: 0 !important;
	padding-bottom: 240px;
	border-bottom: 1px dashed #999999;
}
#concept.movebox::before{
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 0;
	height: 480px;
	background-color: #f2f2f2;
}
#concept.movebox::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 230px;
	background:url(../lib/cmn_img/ptn_01.png) repeat;
}
#concept.movebox.showTime::before{
	width: 78%;
	transition: all 0.4s ease-in-out 0.1s;
-webkit-transition: all 0.4s ease-in-out 0.1s;
-o-transition: all 0.4s ease-in-out 0.1s;
-moz-transition: all 0.4s ease-in-out 0.1s;
	z-index: -10 !important;
}
#concept.movebox.showTime::after{
	width: 35%;
	transition: all 0.4s ease-in-out 0.1s;
-webkit-transition: all 0.4s ease-in-out 0.1s;
-o-transition: all 0.4s ease-in-out 0.1s;
-moz-transition: all 0.4s ease-in-out 0.1s;
	z-index: -10 !important;
}
#concept > .inr_01{
	z-index: 99;
}
#concept .imgBig{
	position: absolute;
	top: 50px;
	right: 30px;
	z-index: -1;
}
#concept .imgBig img{
  opacity: 0;
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.5s linear;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
#concept .imgBig img.img-blur {
  -webkit-animation-name: imageBlur;
  animation-name: imageBlur;
  opacity: 1;
  transition: .8s;
}

@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
      opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}

#concept .imgSub{
	position: absolute;
	bottom: -110px;
	left: 0;
	z-index: -9;
}
#concept .txBox{
	padding-top: 100px;
	z-index: 99;
}
#concept .txBox .h2{
	font-size: 36px;
	font-weight: 500;
	text-shadow: 1px 1px 1px #fff;
}
#concept .txBox .tx{
	font-size: 14px;
	line-height: 2.4;
	margin: 20px 0 0 25px;
	letter-spacing: 0.1em;
	text-shadow: 1px 2px 0px #fff;
}
#concept .txBox .tx.en{
	letter-spacing: 0.01em;
}


/*----------------------------------------------------
	☆lineUp
----------------------------------------------------*/
#lineUp .sliderArea{
	width : -webkit-calc(100% - 180px) ;
	width : calc(100% - 180px) ;
	margin: 0 auto 80px;
}

.slick-slider .slick-list{
	padding: 0 !important; 
	border-right: 1px solid #e2e2e2;
}
.slick-dots{
	bottom: -45px !important;
}
.slick-prev,.slick-next{
	background-size: 32px 90px !important;
	width: 32px !important;
	height: 90px !important;
}
.slick-prev{
	background-image: url(/lib/cmn_img/arw02.png) !important;
	left: -32px !important;
}

.slick-next{
	background-image: url(/lib/cmn_img/arw03.png) !important;
	right: -32px !important;
}
.slick-prev::before,.slick-next::before{
	display: none !important;
}
.slick-dots li button::before{
	font-size: 10px !important;
}


/*----------------------------------------------------
	☆gallery
----------------------------------------------------*/
#gallery{
	position: relative;
}
#gallery > p.logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	z-index: 9;
}

/*----------------------------------------------------
	☆access
----------------------------------------------------*/

#access > .inr_01{
	font-size: 0;
}
#access .boxL{
	width: 30%;
	display: inline-block;
	vertical-align: bottom;
	margin-right: 3%;
}
#access .boxL .ttl{
	margin-bottom: 20px;
	font-size: 20px;
	letter-spacing: 0.1em;
}
#access .boxL table tr th{
	text-align: left;
	font-size: 13px;
	padding:14px 20px 14px 0;
	position: relative;
	font-weight: 500;
}
#access .boxL table tr th::after{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) ;
	-webkit- transform: translateY(-50%) ;
	content: "";
	width: 1px;
	height: 10px;
	background-color: #d0d0d0;
}
#access .boxL table tr td{
	font-size: 13px;
	padding-left: 20px;
	line-height: 1.5;
}
#access .boxR{
	width:67%;
	display: inline-block;
	vertical-align: bottom;
}



/*デバイスの横幅が1200px以下の場合*/
@media only screen and (max-width: 1200px) {
	#concept.movebox::before{
		height: 440px;
	}
	#concept .imgBig{
		width: 65%;
	}
	#concept .imgBig img{
		width: 100%;
		height: auto;
	}
	#access .boxL{
		width: 35%;
	}
	#access .boxR{
		width: 62%;
	}
}

/*デバイスの横幅が760px以下の場合*/
@media only screen and (max-width: 760px) {

#container{
	padding: 0 0 100px;
}
h3.h3{
	margin-bottom: 25px;
	font-size: 26px;
}
h3.h3 span{
	font-size: 13px;
}


/*----------------------------------------------------
	☆mv
----------------------------------------------------*/

#topMvArea::after{
	display: none;
}
.vegas-timer{
	bottom: 0 !important;
}
#topMv,#topMv_sp{
	height:auto;
	padding-top: 120%;
	width: calc(100% - 20px);
	width: -webkit-calc(100% - 20px);
}
	#topMvArea .mainLogo{
		top: 28%;
	}
#topMvArea .mainLogo img{
	width: 180px;
}
#topMvArea .copyRight{
    display: none;
}
#topMvArea .newsBox{
	position: static;
	bottom:auto;
	left:auto;
	margin: 30px auto 0 auto;
	transform: translateX(0%);
-webkit- transform: translateX(0%);
}
#topMvArea .newsBox .newsTtl{
	color: #111;
	text-shadow: none;  
	margin-bottom: 10px;
}
#topMvArea .newsBox .newsTtl span{
	display: block;
	padding-right: 0;
	margin-right: 0;
}
	#topMvArea .newsBox .newsTtl span::after{
		display: none;
	}
#topMvArea .newsBox .newsList > li {
	display: block;	
	width: 100%;
	margin-right: 0;
	margin-bottom: 10px;
}
#topMvArea .newsBox .newsList > li a .imgArea{
	width: 25%;
	padding-top: 25%;
}
#topMvArea .newsBox .newsList > li a .txArea{
	width: 72%;
}
#topMvArea .newsBox .newsList > li a .txArea .day{
	font-size: 10px;
}
#topMvArea .newsBox .newsList > li a .txArea .tx{
	font-size: 12px;
}


/*----------------------------------------------------
	☆insta
----------------------------------------------------*/

#insta ul#instafeed{
	width:100%;
	line-height: 1;
}
#insta ul#instafeed > li{
	width: 32.666%;
	margin:0 1% 1% 0;
}
	#insta ul#instafeed > li:nth-child(3n){
		margin-right: 0;
		float: right;
	}
#insta ul#instafeed > li:nth-child(6){
	display: block!important;
}
#insta .nameBox{
	width:100%;
	margin-right: 0;
}
#insta .nameBox .nameBoxIn{
	border:none;
	padding:0 0 18px 0;
	position: static;
	text-align: center;
}
#insta .nameBox .nameBoxIn p{
	position: static;
    top:auto;
    left: auto;
    transform: translateY(0) translateX(-0);
    -webkit- transform: translateY(0) translateX(0);
	padding-top: 40px;
	background-size: 32px 32px;
	
}
#instafeed li{
padding-top: 32.666%;
}

/*----------------------------------------------------
	☆concept
----------------------------------------------------*/
#concept.movebox{
	position: relative;
	z-index: 0 !important;
	padding-bottom: 180px;
	border-bottom: 1px dashed #999999;
}

#concept.movebox::before{
	height: 360px;
}
#concept.movebox::after{
	height: 160px;
}
#concept.movebox.showTime::before{
	width: 88%;
}
#concept.movebox.showTime::after{
	width: 60%;
}
#concept .imgBig{
	position: relative;
	top: auto;
	right: auto;
	z-index: -10;
	margin-top: 25px;
}
	#concept .imgBig{
		width: 100%;
	}
	#concept .imgBig img{
		width: 100%;
	}
	#concept .imgSub img{
		width: 85%;
	}
#concept .imgSub{
	position: absolute;
	bottom: -8%;
	left: -5px;
	z-index: 9;
}
#concept .txBox{
	padding-top: 30px;
	text-align: center;
}
#concept .txBox .h2{
	font-size: 28px;
}
#concept .txBox .tx{
	font-size: 13px;
	margin: 15px 0 0 0;
	letter-spacing: 0.01em;
}
#concept .txBox .tx.en{
	letter-spacing: 0.01em;
}


/*----------------------------------------------------
	☆lineUp
----------------------------------------------------*/
	#lineUp{
		
	width : -webkit-calc(100% - 20px) ;
	width : calc(100% - 20px) ;
		margin: 0 auto;
	}
#lineUp .sliderArea{
	width : -webkit-calc(100% - 60px) ;
	width : calc(100% - 60px) ;
	margin: 0 auto 60px;
}

.slick-slider .slick-list{
	padding: 0 !important; 
	border-right: 1px solid #e2e2e2;
}
.slick-dots{
	bottom: -45px !important;
}
.slick-dots {
    bottom: -35px !important;
}
.slick-prev,.slick-next{
	background-size:25px 80px !important;
	width: 25px !important;
	height: 80px !important;
}
.slick-prev{
	left: -25px !important;
}

.slick-next{
	right: -25px !important;
}
	.slick-dots li{
		margin: 0 !important;
		width: 15px !important;
	}


/*----------------------------------------------------
	☆gallery
----------------------------------------------------*/
#gallery > p.logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	z-index: 9;
}
	#gallery > p.logo img{
		width: 130px;
		height: auto;
		
	}
	
/*----------------------------------------------------
	☆access
----------------------------------------------------*/

#access .boxL{
	width: 100%;
	display: block;
	margin-right: 0;
}
#access .boxL .ttl{
	margin-bottom: 15px;
	font-size: 18px;
}
#access .boxL table tr th{
	text-align: left;
	font-size: 12px;
	padding:10px 15px 10px 0;
}
#access .boxL table tr th::after{
	height: 8px;
}
#access .boxL table tr td{
	font-size: 12px;
	padding-left: 15px;
}
#access .boxR{
	width:100%;
	display: block;
	margin-top: 20px;
}



}