@charset "utf-8";
/*--****************************************

@PC - common.css
Copyright (c) ULM Co.,Ltd. - http://www.ulm-design.com

*****************************************--*/
html, body{
	background: #000;
  color: #fff;
  font-size: 13px;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  /*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";*/
  letter-spacing: 1px;
  word-break: break-all;
  word-wrap: break-word;

  -webkit-font-smoothing: antialiased;/*文字のアンチエイリアス設定*/
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";/*文字間詰め*/
	-webkit-text-size-adjust: 100%; /* adjust */

}

.hover{
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

*,*::before,*::after {
  box-sizing: border-box;
}

.min {
  font-family: 'Crimson Text',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

img {
  vertical-align: bottom;
}

/*-------------------------------

#wrapper

-------------------------------*/
#wrapper{
  width: 100%;
  min-width: 1024px;
  display: block;
  position: relative;
}

/*-------------------------------

#header

-------------------------------*/
#header{
  position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 50px;
	background: #000;
}

#header .sns-container {
	width: 320px;
    position: absolute;
    top: 4px;
    right: 15px;
}

#sns-container .sns-ttl {
  font-size: 18px;
  padding: 0 0 10px;
  width: 90px;
  margin: 0 auto;
}

.sns-ttl {
  padding: 0 8px 0 2px;
	align-self: center;
}

.sns-list {
  align-items: center;
}

.sns-list li {
  padding: 0 5px;
	transition: opacity .6s ease;
}

.sns-list li:hover {
    /* animation: hurueru .1s  infinite; */
		opacity: .5;
}

/*-------------------------------

@nav

-------------------------------*/
#nav {
	font-size: 14px;
	height: 50px;
	font-size: 20px;
}


#nav-container{}


.nav-box{
	position: relative;
  padding: 18px 15px;
}


.nav-btn{
	display: block;
  color: #fff;
	transition: .3s;
}


.nav-btn.selected,
.nav-btn:not(.coming):hover {
	color: #ff0000;
}


.nav-btn.coming{
	opacity: 0.5;
}


.nav-icon{
	font-size: 100%;
	padding: 0 5px 0 0;
}

/*-------------------------------

#footer

-------------------------------*/
#footer{
  min-height: 70px;
}

#share-container {
  background: url(../img/common/share/bg.jpg) no-repeat top center;
  /* background-size: 100%; */
  padding: 0 0 150px;
  text-align: center;
}

.share-txt {
  width: 462px;
  margin: 0 auto;
  padding: 100px 0;
}

.share-ttl {
  padding: 100px 0 10px;
  font-size: 20px;
}

#share-btn-container {
	padding: 0 0 30px;
}

#share-btn-container li {
  padding: 0 8px;
}

#share-btn-container li a {
  display: flex;
	align-items: center;
	justify-content: center;
  padding: 15px;
  border: 1px solid #7f1e1e;
  border-radius: 100px;
  color: #fff;
	font-size: 20px;
	transition: opacity .6s ease;
}

#share-btn-container li a:hover {
	opacity: .5;
  /* animation: hurueru .1s  infinite; */
}


#pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 130px;
  z-index: 90;
	cursor: pointer;
	transition: .3s;
}

#pagetop img {
  vertical-align: bottom;
}

#maeuri-container {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  height: 70px;
  background: rgba(0,0,0,.5);
  padding: 0 5%;
  transition: .3s;
}

#maeuri-container ul {
  height: 100%;
  align-items: center;;
}

#maeuri-container ul li{
  width: 150px;
  padding: 0 5px;
}

#maeuri-container ul li a{
	display: block;
}

/*-------------------------------

#main

-------------------------------*/
#main{
  display: block;
}


/*-------------------------------

#preloader

-------------------------------*/
#preloader {
  background: #000;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 10000;
}


#preloader-inner{
	width: 500px;
	height: 300px;
	position: absolute;
	z-index: 1;
	top: calc( 50% - 150px );
	left: calc( 50% - 250px );
}


#preloader-ttl{
	display: block;
	position: absolute;
	z-index:3;
	top: 0%;
	left: 0%;
}


#preloader-txt{
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
}


#preloader-anime{
	position: absolute;
	top: 115px;
	left: 310px;
	z-index: 3;
}


#progress-txt {
	display: block;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	color: #fff;
	text-align: center;
	width: 100%;
	position: absolute;
	top: 195px;
	z-index: 4;

}


#preloaderAnime{
	position: absolute;
	top: calc(50% - 100px);
	left: calc(50% - 100px);
	color: #777;
}

@keyframes lds-ripple {
  0% {
    top: 98px;
    left: 98px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 67px;
    left: 67px;
    width: 62px;
    height: 62px;
    opacity: 0;
  }
}
@-webkit-keyframes lds-ripple {
  0% {
    top: 98px;
    left: 98px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 67px;
    left: 67px;
    width: 62px;
    height: 62px;
    opacity: 0;
  }
}
.lds-ripple {
  position: relative;
}
.lds-ripple div {
  box-sizing: content-box;
  position: absolute;
  border-width: 2px;
  border-style: solid;
  opacity: 1;
  border-radius: 50%;
  -webkit-animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(1) {
  border-color: #b1b1b1;
}
.lds-ripple div:nth-child(2) {
  border-color: #9cadbb;
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}
.lds-ripple {
  width: 200px !important;
  height: 200px !important;
  -webkit-transform: translate(-100px, -100px) scale(1) translate(100px, 100px);
  transform: translate(-100px, -100px) scale(1) translate(100px, 100px);
}

/*-------------------------------

@banner

-------------------------------*/
#banner-container{
	padding: 0 0 20px;
}


.banner-item{
  margin: 0 10px 10px 0;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}


.banner-item:hover{
  opacity: 0.6;
}


.banner-img{
  width: 280px;
  height: auto;
}

#banner-container--2{
	padding: 0 0 100px;

}

#banner-container--2 .banner-item{
  margin: 0 10px 10px 0;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}


#banner-container--2 .banner-item:hover{
  opacity: 0.6;
}


#banner-container--2 .banner-img{
  width: 330px;
  height: auto;
}


/*-------------------------------

@SNS

-------------------------------*/
#social-container{

}


.sns-btn{
	display:block;
	height:20px;
	padding:0 10px 0 0;
}


.sns-btn:nth-last-child(1){
	padding:0;
}


#twitter-share{}
#twitter-follow{}
#facebook-like{}
#line-share{}
#line-like{}
#eiga-com{}


/*--------------------------------------------------
リマケタグの隙間対策
--------------------------------------------------*/
iframe[name='google_conversion_frame'] { height: 0 !important; width: 0 !important; line-height: 0 !important; font-size: 0 !important; margin-top: -13px;}


/*--------------------------------------------------------------

@modules

--------------------------------------------------------------*/
.en-font{ font-family: Georgia, "Times New Roman", Times, serif, Arial, Helvetica, sans-serif; }
.font10 { font-size: 77%; }
.font11 { font-size: 85%; }
.font12 { font-size: 93%; }
.font13 { font-size: 100%; }
.font14 { font-size: 108%; }
.font15 { font-size: 116%; }
.font16 { font-size: 124%; }
.font17 { font-size: 131%; }
.font18 { font-size: 139%; }
.font19 { font-size: 147%; }
.font20 { font-size: 154%; }
.font21 { font-size: 162%; }
.font22 { font-size: 169%; }
.font23 { font-size: 177%; }
.font24 { font-size: 185%; }
.font25 { font-size: 192%; }
.font26 { font-size: 200%; }


/*-------------------------------

@flex

-------------------------------*/
.flex{
	display: -webkit-flex;
	display: flex;
}


.flex-wrap{
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}


.flex-center{
  -webkit-justify-content: center;
  justify-content: center;
}

.flex-left{
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.flex-right{
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}


/*-------------------------------

clearfix

-------------------------------*/
.clearfix {}
.clearfix:after{
	content : '';
	display : block;
	clear : both;
}


/*-------------------------------

float

-------------------------------*/
.float-left{ float: left; }
.float-right{ float: right; }
.clear{ clear: both; }


/*-------------------------------

align

-------------------------------*/
.align-right{ text-align: right; }
.align-left{ text-align: left; }
.align-center{ text-align: center; }


/*-------------------------------

letter-spacing

-------------------------------*/
.space-none{ letter-spacing: 0; }
.space-narrow{ letter-spacing: 0.1em; }
.space-normal{ letter-spacing: 2px; }


/*-------------------------------

a

-------------------------------*/
a{
	text-decoration: none;
	display: inline-block;
}
a:link{}
a:visited{}
a:hover{}
a:active{}


/*-------------------------------

font-weight

-------------------------------*/
.bold{ font-weight: bold; }


/*-------------------------------

font-style

-------------------------------*/
.italic{ font-style: italic; }


/*-------------------------------

display

-------------------------------*/
.none{ display: none; }
.block{ display: block; }


/*-------------------------------

position

-------------------------------*/
.relative{ position: relative; }
.absolute{ position: absolute;}
.margin-auto{ margin: 0 auto; }

/*-------------------------------

img

-------------------------------*/
.w100 {
  width: 100%;
}

.lazyload {
  opacity: 0;
	transition: all 1s;
}
.lazyloaded {
  opacity: 1;
	transition: all 1s;
}

/*-------------------------------

animation

-------------------------------*/
.hvbrbr:hover {
    animation: hurueru .1s infinite;
}

.brbr {
	animation: hurueru .1s infinite;
}

@keyframes hurueru {
    0% {transform: translate(0px, 0px) rotateZ(0deg)}
    25% {transform: translate(2px, 2px) rotateZ(1deg)}
    50% {transform: translate(0px, 2px) rotateZ(0deg)}
    75% {transform: translate(2px, 0px) rotateZ(-1deg)}
    100% {transform: translate(0px, 0px) rotateZ(0deg)}
}

.fadein {
	opacity: 0;
	transform: translate(0px, 20px);
	transition: all 2s ease;
}

.fadein.fadein-anime {
	animation: fadein 2s ease forwards;
}

@keyframes fadein {
	0% {
		opacity: 0;
		transform: translate(0px, 20px);
	}
	100% {
		opacity: 1;
		transform: translate(0px, 0px);
	}
}

/*-------------------------------

guard

-------------------------------*/
.guard{
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: url(../common/img/spacer.gif);
	background-repeat: repeat;
}

.protect{
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  -khtml-user-drag: none;
  -webkit-user-drag: none;
}
