﻿html {
	min-width: 1100px; /* viewport */
}
/*=============================================
 * body
 *=============================================*/
@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}
body {
	color: #fff;
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	font-size: 15px;
	line-height: 30px;
	letter-spacing: 0;
	background: url(../img/shared/bg.jpg) repeat center top;
	min-width: inherit;
	max-height: 100%;
}
/*=============================================
 * fonts - DON'T EDIT
 *=============================================*/

.fnt-mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.fnt-meiryo {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシックPro", "ＭＳ ゴシック", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.fnt-gothic {
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
/*=============================================
 * .fnt - customs
 *=============================================*/

.fnt-mincho {
}
.fnt-meiryo {
}
.fnt-gothic {
}
.fnt-garamond {
}
/*=============================================
 * #wrapper
 *=============================================*/

#wrapper {
	clear: both;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.wrap {
	width: 1000px;
}
/*=============================================
 * header
 *=============================================*/

#header {
	width: 100%;
	position: relative;
	height: 900px;
}
#header h1 {
	font-size: 11px;
	line-height: 35px;
	color: #a7a7a7;
	letter-spacing: 1px;
	padding: 17px 0 20px 11px;
}
#header .link {
	position: absolute;
	top: 559px;
	right: -100px;
}
#header .tel {
}
#header .logo {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#header .nav {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}
#header .nav li {
	float: left;
	position: relative;
}
#header .nav li ul {
	position: absolute;
	top: 62px;
	left: 21px;
	width: 170px;
	height: 0;
	transition: all .75s ease;
	opacity: 0;
	overflow: hidden;
	color: #fff;
	line-height: 35px;
}
#header .nav li ul li {
	display: block;
	float: none;
}
#header .nav > li:hover > ul,
#header .nav > li > ul:hover {
	opacity: 1;
	height: 20vh;
}
#header .wrap {
	z-index: 2000;
}
/*=============================================
 * key
 *=============================================*/

#key {
	background-color: #000;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	min-height: 900px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
#key ul {
	height: 900px;
	width: 100%;
}
#key li {
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	min-height: inherit;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
/*=============================================
 * container
 *=============================================*/

#container {
}
/*=============================================
 * #socialbuttons
 *=============================================*/

#socialbuttons {
	padding: 26px 0 0;
	max-width: 410px;
	margin: 0 auto;
}
/*=============================================
 * footer
 *=============================================*/

#footer {
	height: 569px;
	width: 100%;
	position: relative;
	font-size: 15px;
	line-height: 32px;
	letter-spacing: 1px;
	color: #ffffff;
	background: url(../img/shared/bg_ft.jpg) repeat-x center top;
}
#footer h3 {
	position: absolute;
	top: -66px;
	left: 0;
	width: 100%;
	z-index: 10;
	text-align: center;
}
#footer .logo {
}
#footer .tel {
}
#footer .ft_info {
}
#footer .ft_info dt {
}
#footer .ft_info dd {
}
#footer .ft_logo {
	padding: 113px 0 20px;
}
#footer .nav {
	line-height: 35px;
	font-size: 15px;
	padding: 27px 0px 4px;
	letter-spacing: 0px;
	color: #c0bfb8;
	position: relative;
	text-align: center;
}
#footer .nav li {
	padding-left: 0;
}
#footer .nav li a {
	padding: 0 15px;
	position: relative;
}
#footer .nav li + li {
}
#footer .nav li + li:before {
}
#footer .nav li.sub:before {
	content: '.';
	font-size: 19px;
	padding: 0;
	top: -5px;
	position: relative;
	left: 11px;
}
/*=============================================
 * copyright
 *=============================================*/
#pagetop {
	right: 10px;
	bottom: 10px;
}
address {
	color: #ffffff;
	font-size: 12px;
	padding: 37px 0 0px;
	letter-spacing: 0px;
	line-height: 20px;
	text-align: center;
	position: relative;
}
address a{
 font-size: 10px;
 color: #FFF;
 display: block;
 text-decoration: none;
}





.text_center {
	text-align: center;
}
.ml_0 {
	margin-left: 0px !important;
}
.strong {
	font-weight: bold;
}
.text_right {
	text-align: right;
}
#socialbuttons > * {
	margin: 0 7px;
}
.w_500 {
	width: 500px;
}
.w_50pc {
	width: 50%;
}


/* Bob */
@-webkit-keyframes hvr-bob {
 0% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
 50% {
 -webkit-transform: translateY(-4px);
 transform: translateY(-4px);
}
 100% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
}
@keyframes hvr-bob {
 0% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
 50% {
 -webkit-transform: translateY(-4px);
 transform: translateY(-4px);
}
 100% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
}
@-webkit-keyframes hvr-bob-float {
 100% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
}
@keyframes hvr-bob-float {
 100% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
}
.hvr-bob {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
}
.hvr-bob:hover, .hvr-bob:focus, .hvr-bob:active {
	-webkit-animation-name: hvr-bob-float, hvr-bob;
	animation-name: hvr-bob-float, hvr-bob;
	-webkit-animation-duration: .3s, 1.5s;
	animation-duration: .3s, 1.5s;
	-webkit-animation-delay: 0s, .3s;
	animation-delay: 0s, .3s;
	-webkit-animation-timing-function: ease-out, ease-in-out;
	animation-timing-function: ease-out, ease-in-out;
	-webkit-animation-iteration-count: 1, infinite;
	animation-iteration-count: 1, infinite;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-direction: normal, alternate;
	animation-direction: normal, alternate;
}
/* Sweep To Right */
.hvr-sweep-to-right {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	position: relative;
	-webkit-transition-property: color;
	transition-property: color;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	background: #1d1c1c;
}
.hvr-sweep-to-right:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #490707;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
.hvr-sweep-to-right:hover, .hvr-sweep-to-right:focus, .hvr-sweep-to-right:active {
	color: white;
}
.hvr-sweep-to-right:hover:before, .hvr-sweep-to-right:focus:before, .hvr-sweep-to-right:active:before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}
/* Forward */
.hvr-forward {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: transform;
	transition-property: transform;
}
.hvr-forward:hover, .hvr-forward:focus, .hvr-forward:active {
	-webkit-transform: translateX(8px);
	transform: translateX(8px);
}
.box_style1 {
	position: relative;
	overflow: hidden;
	display: inline-block;
}
.box_style1:before {
	background: #6e1616;
	width: 10px;
	height: 0;
	transition: height 0.3s cubic-bezier(0.25, 0.1, 0.25, 1), width 1.2s cubic-bezier(0.25, 0.1, 0.25, 1) 0.3s, left 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) 1.5s;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	z-index: 2;
}
.box_style1 > * {
	opacity: 0 !important;
	width: 100%;
	transition: opacity 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) 1.5s !important;
}
.box_style1[style*="visible"]:before {
	height: 100%;
	width: 100%;
	left: 100%;
}
.box_style1[style*="visible"] > * {
	opacity: 1 !important;
}
.box_style2 {
	position: relative;
	overflow: hidden;
	display: inline-block;
}
.box_style2:before {
	background: rgba(0, 0, 0, 0.85);
	width: 0;
	height: 100%;
	transition: width 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	z-index: 2;
}
.box_style2 > * {
	opacity: 0 !important;
	width: 100%;
	transition: opacity 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) 0.4s !important;
}
.box_style2[style*="visible"]:before {
	width: 100%;
}
.box_style2[style*="visible"] > * {
	opacity: 1 !important;
	z-index: 3;
	position: relative;
}
.title{
	font-weight: bold;
    font-size: 30px;
	color: #fff;
	letter-spacing: 1.2px;
}

/*line*/
.bd {
	position: absolute;
	top: 20px;
	right: 20px;
	left: 20px;
	bottom: 20px;
}
.bd > div {
	background: #640b0b;
	transition: all .3s ease;
}
.bd .bdT {
	width: 0px;
	height: 10px;
	top: 0;
	left: 0;
	position: absolute;
	transition-delay: 0s;
}
.bd .bdB {
	width: 0;
	height: 10px;
	bottom: 0;
	right: 0;
	position: absolute;
	transition-delay: 0.6s;
}
.bd .bdR {
	height: 0;
	width: 10px;
	right: 0;
	top: 0;
	position: absolute;
	transition-delay: 0.3s;
}
.bd .bdL {
	height: 0;
	width: 10px;
	left: 0;
	top: 0;
	position: absolute;
	transition-delay: 0.9s;
}
.bd[style*="visible"] .bdT, .bd[style*="visible"] .bdB {
	width: 100%;
}
.bd[style*="visible"] .bdL, .bd[style*="visible"] .bdR {
	height: 100%;
}