@charset "utf-8";

html, body {
  height: 100%;
  font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size:14px;
  font-weight:500;
  margin: 0;
  padding: 0;
  color:#FFF;
  background:#000;
  line-height:150%;
}

body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

a:link { color: #FFF; }
a:visited { color: #FFF; }
a:hover { color: #FFF; }
a:active { color: #FFF; }

.sp {
	display:none;
}

#wrapper {
	text-align: center;
	position: relative;
	height: auto;
	min-height: 100%;
	background-color: #000;
	background-image:url(../img/bg.jpg);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	overflow:hidden;
}

h1#logo {
	width:100%;
	text-align: center;
	margin:30px 0 20px;
}

h2 {
	 font-family: "Sawarabi Mincho";
	 font-size:30px;
	 letter-spacing:0.1em;
	 margin:10px 10px 20px 10px;
	 line-height:130%;
	 text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
}


#footer {
	width:100%;
	position: absolute;
	bottom:0;
	text-align: center;
	background:rgba(0,0,0,0.8);
	min-height:50px;
	padding:30px 20px;
	box-sizing:border-box;
}

#footer address {
	margin-top:20px;
	font-size:12px;
}

img {
	margin: 0px;
	padding: 0px;
	clear: both;
}

nav {
	text-align: center;
	padding-bottom:130px;
}

.grid {
	display: inline-block;
}

.grid figure {
	position: relative;
	float: left;
	overflow: hidden;
	margin: 10px 2%;
	min-width: 290px;
	max-width: 500px;
	min-height: 200px;
	max-height:580px;
	width: 46%;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 0 0 15px rgba(255,255,255,0.8) inset;
}

.grid figure img {
	position: relative;
	display: block;
	min-height: 100%;
	max-width: 100%;
	opacity: 0.8;
}
.grid figure img.bg{
	background-color:#000;
}
.grid figure figcaption::before,
.grid figure figcaption::after {
	pointer-events: none;
}

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

.grid figure figcaption > a {
	z-index: 1000;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
}

.grid figure h2 {
	word-spacing: -0.15em;
	font-weight: 300;
	text-align:center;
}

.grid figure h2 span {
	font-weight: 800;
}

.grid figure h2,
.grid figure p {
	margin: 0;
}

.grid figure p {
	font-size: 15px;
	line-height:170%;
}

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

figure.effect-bubba h2 img {
	opacity: 1;
	-webkit-transition: opacity 1s;
	transition: opacity 1s;
	display:inline;
}

figure.effect-bubba figcaption::before,
figure.effect-bubba figcaption::after {
	position: absolute;
	top: 30px;
	right: 30px;
	bottom: 30px;
	left: 30px;
	content: '';
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

figure.effect-bubba figcaption::before {
	border-top: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	-webkit-transform: scale(0,1);
	transform: scale(0,1);
}

figure.effect-bubba figcaption::after {
	border-right: 1px solid #FFF;
	border-left: 1px solid #FFF;
	-webkit-transform: scale(1,0);
	transform: scale(1,0);
}

figure.effect-bubba h2 {
	padding-top: 30%;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(0,-20px,0);
	transform: translate3d(0,-20px,0);
}

figure.effect-bubba p {
	padding: 20px 2.5em;
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: translate3d(0,20px,0);
	transform: translate3d(0,20px,0);
}

figure.effect-bubba:hover figcaption::before,
figure.effect-bubba:hover figcaption::after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

figure.effect-bubba:hover h2,
figure.effect-bubba:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

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

figure.effect-bubba h2 {
	padding-top: 25%;
}

figure.effect-bubba h2 img {
	width:auto;
	height:160px;
	min-height: auto;
	max-height:auto;
}

nav {
	padding-bottom:150px;
}

}

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

.sp {
	display:inline;
}

h1#logo img {
	width:80px;
	height:auto;
}

h2 {
	 font-size:24px;
}

.grid figure {
	float: none;
	height:300px;
	width: 92%;
	margin: 10px 4%;
	min-width:auto;
	max-width:auto;
}

figure.effect-bubba h2 {
	padding-top: 15%;
}

figure.effect-bubba h2 img {
	width:auto;
	height:120px;
	min-height: auto;
	max-height:auto;
}

.grid figure p {
	font-size: 13px;
	line-height:130%;
}

nav {
	padding-bottom:180px;
}

#footer {
	padding:20px;
}


}