/* CORE CSS */

body {
	color:#666666;
	font-family:'Open Sans';
	font-size:14px;
	font-weight:400;
	line-height:23px;
}

h1, h2, h3, h4, h5, h6 {
	color: #262626;
}

h2 {
	color:#262626;
	font-family:'montserratbold';
	font-size:40px;
}

h3 {
	font-family:'montserratregular';
	font-size:28px;
	letter-spacing:-2px;
	color:#262626;
	line-height:28px;
}

h4 {
	font-family:'montserratregular';
	font-size:18px;
	letter-spacing:1px;
}

h5 {
	font-family:'montserratlight';
}

section {
	padding:90px 0;
}

.uppercase {
	text-transform:uppercase;
}

.no-padding {
	padding:0;
}

.mfp-bg {
	background:#ffffff;
}

.lead {
	color:#999999;
}

a {
	outline:none;
}

.owl-theme .owl-controls .owl-page span {
	background:#bf1a20;
}


/* NAVBAR */

.navbar-custom {
	font-family:'Open sans';
	font-size:12px;
	font-weight:400;
	letter-spacing:1px;
	background:transparent;
	margin-bottom:0;
	border-radius:0;
	z-index:1041;
	width:100%;
	-webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
  -moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
  transition: background .5s ease-in-out,padding .5s ease-in-out;
}

.navbar-custom a {
	color:#333333;
}

.navbar-custom .navbar-nav > li > a:hover {
	color:#bf1a20;
	background:transparent;
}

.navbar-custom .navbar-nav > li > a:active,
.navbar-custom .navbar-nav > li > a:focus {
	color:#bf1a20;
	background:transparent;
}

.navbar-custom .icon-bar {
	background:#bf1a20;
}

.sticky-wrapper {
	position:absolute;
	width:100%;
	padding-top:30px;
}

.sticky-wrapper a {
	color:#ffffff;
}

.is-sticky .navbar-custom {
	width:100%;
	background:#262626;
	-webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
  	-moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
	transition: background .5s ease-in-out,padding .5s ease-in-out;
}

.is-sticky a {
	color:#ffffff;
}


/* navbar effect */

.navbar-custom a {
	padding: 8px 0;
}

.navbar-custom .navbar-nav > li > a::after {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 4px;
	background: rgba(0,0,0,0.1);
	content: '';
	opacity: 0;
	-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
	-moz-transition: opacity 0.3s, -moz-transform 0.3s;
	transition: opacity 0.3s, transform 0.3s;
	-webkit-transform: translateY(10px);
	-moz-transform: translateY(10px);
	transform: translateY(10px);
}

.navbar-custom .navbar-nav > li > a:hover::after,
.navbar-custom .navbar-nav > li > a:focus::after {
	opacity: 1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	transform: translateY(0px);
}



/* INFO */

#info {
	padding:70px 0 90px 0;
}

#info i {
	color:#bf1a20;
	margin-bottom:10px;
}

.feature {
	margin:50px 0 0 0;
}



/* GALLERY */

#gallery {
	padding: 70px 0 90px 0;
	background-color: #bf1a20;
}

#timeline .item {
	margin:10px 10px 20px 10px;
}


footer {
	color:#b0b0b0;
	background:#262626;
	padding:70px 0;
}

footer h4 {
	color:#ffffff;
}

footer h4:after {
	content: "";
  	display: block;
  	width: 60px;
  	height: 3px;
 	background-color: #bf1a20;
 	margin-top: 12px;
  	margin-bottom: 15px;
}

footer ul li a {
	color:#ececee;
}

footer ul li a:hover {
	color:#ffffff;
}

footer .button-big {
	font-size:16px;
	width:100%;
}

footer dt {
	color:#ffffff;
	font-family:'montserratlight';
	font-size:13px;
	margin-top:7px;
	margin-bottom:3px;
	cursor:pointer;
}

/* Subfooter */

.subfooter {
	color:#ececee;
	font-size:10px;
	letter-spacing:1px;
	background:#000000;
	padding:20px 0;
}

.subfooter ul {
	margin-bottom:0;
}

.subfooter li a {
	color:#ececee;
}

.subfooter li a:hover {
	color:#ffffff;
	text-decoration:none;
}

.white {
	color: #ffffff;
}
.red {
	color: #bf1a20;
}
/* MISC. */

/* FORM ELEMENTS */

input[type="text"],
input[type="email"],
select,
textarea {
	font-size:16px;
	font-family:inherit;
	width:100%;
	min-height:30px;
	padding:12px 10px;
	text-transform: none;
	border:0;
	border:1px solid #999999;
	margin-bottom:20px;
	outline:none;
} 


/* BUTTONS */

.button {
	font-family:'montserratregular';
	font-size: 17px;
	text-transform: uppercase;
	border: none;
	padding: 5px 15px;
	display: inline-block;
	position: relative;
	outline: none;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	   -moz-transition: all 0.3s;
			transition: all 0.3s;
}

.button:after {
	content: '';
	position: absolute;
	z-index: -1;
	-webkit-transition: all 0.3s;
	   -moz-transition: all 0.3s;
	        transition: all 0.3s;
}

.button-xsmall {
	padding:2px 7px;
	font-size:11px;
	letter-spacing:1px;
}

.button-small {
	padding:5px 30px;
	font-size:13px;
	letter-spacing:1px;
}

.button-big {
	padding:10px 18px;
	font-size:21px;
}

.button-line-light {
	color:#ffffff;
	background:transparent;
	border:2px solid #ffffff;
}

.button-line-light:hover,
.button-line-light:active {
	color: #262626;
	background: #ffffff;
	text-decoration:none;
}

.button-line-dark {
	color:#262626;
	background:transparent;
	border:2px solid #262626;
}

.button-line-dark:hover,
.button-line-dark:active {
	color: #ffffff;
	background: #262626;
	text-decoration:none;
}


/* PRELOAD */

#preload {
	background-color: black;
	position: fixed;
	top: 0;
	left: auto;
	width: 100%;
	height: 100%;
	z-index: 9999;
	display: table;
	
}
#preload .preload {
	display:table-cell;
  	vertical-align:middle;
	  background-color: black;

}

.spinner {
	
  width: 30px;
  height: 30px;
  margin: 100px auto;
  -webkit-animation: rotateplane 1.2s infinite ease-in-out;
  animation: rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes rotateplane {
  0% { -webkit-transform: perspective(120px) }
  50% { -webkit-transform: perspective(120px) rotateY(180deg) }
  100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes rotateplane {
  0% { 
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) 
  } 50% { 
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) 
  } 100% { 
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}



/* GALLERY IMG OVERLAY EFFCET */

.wrap {
	display: block;
	overflow: hidden;
	position: relative;
}

.wrap .overlay:after {
	background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5);
	height: 100%;
	content:"";
	display: block;
	left: 0;
	opacity: 0;
	position: absolute;
	top: -100%;
	-webkit-transition: all 0.6s ease 0s;
	-moz-transition: all 0.6s ease 0s;
	-ms-transition: all 0.6s ease 0s;
	-o-transition: all 0.6s ease 0s;
	transition: all 0.6s ease 0s;
	width: 100%;
}
	
.wrap:hover .overlay:after {
	top: 50%;
	opacity: 1;
}

.wrap .overlay:before {
	background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5);
	bottom: -100%; 
	height: 100%;
	content:"";
	display: block;
	left: 0;
	opacity: 0;
	position: absolute;
	-webkit-transition: all 0.6s ease 0s;
	-moz-transition: all 0.6s ease 0s;
	-ms-transition: all 0.6s ease 0s;
	-o-transition: all 0.6s ease 0s;
	transition: all 0.6s ease 0s;
	width: 100%;
}

.wrap:hover .overlay:before {
	bottom: 50%;
	opacity: 1;
}

.wrap .icon {
	color:#ffffff;
	visibility: hidden;
	margin: 0;
	opacity: 0;
	position: absolute;
	text-align: center;
	width: 100%;
	top: 50%;
	margin-top: -20px;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	-ms-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
	
.wrap:hover .icon {
	opacity: 1;
	visibility: visible;
}

.wrap .icon a {
	color:#ffffff;
}

.wrap .icon a:hover {
	color:#333333;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	-ms-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

/*---------------*/
/***** Ming *****/
/*---------------*/

figure.effect-ming {
	background: #030c17;
}

figure.effect-ming img {
	opacity: 0.9;
	-webkit-transition: opacity 0.35s;
	transition: opacity 0.35s;
}

figure.effect-ming figcaption::before {
	position: absolute;
	top: 15px;
	right: 15px;
	bottom: 15px;
	left: 15px;
	border: 1px solid #fff;
	box-shadow: 0 0 0 30px rgba(255,255,255,0.2);
	content: '';
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: scale3d(1.4,1.4,1);
	transform: scale3d(1.4,1.4,1);
}

figure.effect-ming span img {
	padding: 4em 0;
	opacity: 0;
	margin:0 auto;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: scale(1.5);
	transform: scale(1.5); 
}

figure.effect-ming:hover figcaption::before,
figure.effect-ming:hover span img {
	opacity: 1;
	-webkit-transform: scale3d(1,1,1);
	transform: scale3d(1,1,1);
}

figure.effect-ming:hover figcaption {
	background-color: rgba(58,52,42,0);
}

figure.effect-ming:hover img {
	opacity: 0.4;
}

/* CONTACT */
#formWrap {
	width: auto;
	margin: 0 auto;
	color: #555;
	line-height: 120%;
	font-size: 90%;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
}
/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:572px) {
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	width:80%;
	padding:5px;
	font-size:110%;
	display:block;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:100%;
	height:40px;
}
}
.speaker figure {
	position: relative;
	float: left;
	overflow: hidden;
	margin-bottom: 20px;
	width: 100%;
	height: auto;
	background: #3085a3;
	text-align: center;
	cursor: pointer;
}

.speaker figure img {
	position: relative;
	display: block;
	height: auto;
	max-width: 100%;
	opacity: 0.8;
}

.speaker figure figcaption {
	padding: 2em;
	color: #fff;
	text-transform: uppercase;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.speaker figure figcaption::before,
.speaker figure figcaption::after {
	pointer-events: none;
}

.speaker figure figcaption,
.speaker figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.speaker figure figcaption > a {
	z-index: 1000;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
	outline:none;
}
