html,body{
	height:100%;
	position: relative;
}
div#cover{
	width: 100%;
	height: 100%;
	border: 10px solid #fE0;
	position: fixed;
	left:0;top:0;
}
div#wrap{
	height:100%;
}
/*/////////////////////////////////////////////////

loader

/////////////////////////////////////////////////*/
#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 100001;
}
#loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 150px;
	height: 120px;
	margin-top: -100px;
	margin-left: -100px;
	text-align: center;
	color: #fff;
	z-index: 100002;
}
	@media (max-width: 767px) {
		#loader-bg {
			display: none;
			position: fixed;
			width: 100%;
			height: 100%;
			top: 0px;
			left: 0px;
			background: #fff;
			z-index: 100001;
		}
		#loader {
			display: none;
			position: fixed;
			top: 50%;
			left: 50%;
			width: 150px;
			height: 120px;
			margin-top: -75px;
			margin-left: -80px;
			text-align: center;
			color: #fff;
			z-index: 100002;
		}
	}/*@media*/
/*/////////////////////////////////////////////////

header

/////////////////////////////////////////////////*/
header{
	width: 100%;
	position: fixed;
	left:0;top:0;
	z-index:10000;
}
#logo{
	position:absolute;
	top:20px;
	left:20px;
	width: 148px;
	height: 105px;
}
#logo img{
	width: 148px;
	height: auto;
}

	@media (max-width: 767px) {
		#logo{
			position:absolute;
			top:10px;
			left:10px;
			width: 120px;
			height: 105px;
		}
		#logo img{
			width: 120px;
			height: auto;
		}
	}/*@media*/
footer{
	font-family:"casablanca-urw",sans-serif;
	font-style: italic;
	font-weight: 500;
	text-align: left;
	border:none;
	position: fixed;
	left:10px;
	bottom:10px;
	display: block;
	width:auto;
	padding:0.5em 0.3em 0.3em;
	color:#000;
	line-height:1em;
	font-size:0.9em;
	z-index:9999;
	letter-spacing: 0.1em;
}
footer .footer_japanese{
	font-family: "ryo-gothic-plusn",sans-serif;
	font-size:0.9em;
}
	@media (max-width: 767px) {
		footer{
			font-family:"casablanca-urw",sans-serif;
			font-style: italic;
			font-weight: 500;
			text-align: left;
			border:none;
			position: fixed;
			left:10px;
			bottom:10px;
			display: block;
			width:auto;
			padding:0.5em 0.3em 0.3em;
			color:#000;
			line-height:1em;
			font-size:0.6em;
			z-index:9999;
			letter-spacing: 0.1em;
		}
		footer .footer_japanese{
			font-family: "ryo-gothic-plusn",sans-serif;
			font-size:0.6em;
		}
	}/*@media*/
nav{
	position: absolute;
	top:0;
	left:0;
	z-index:10001;
}
nav ul{
	display: block;
	margin:auto;
}
nav ul li{
	display: block;
	margin:10px;
	width: 250px;
	height: 40px;
	float: left;
	font-family:"casablanca-urw",sans-serif;
	font-style: italic;
	font-weight: 200;
	letter-spacing: 0.2em;
	color:#FFF;
}
.button {
	position: relative;
	-webkit-perspective: 300px;
	perspective: 300px;
	display: block;
	width: 250px;
	height: 40px;
}
.button span {
	display: block;
	position: absolute;
	width: 250px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
	pointer-events: none;
}
.button span:nth-child(1) {
	background-color: #FFF;
	color: #000;
	font-weight: 500;
	-webkit-transform: rotateX(90deg);
	-moz-transform: rotateX(90deg);
	transform: rotateX(90deg);
	-webkit-transform-origin: 50% 50% -25px;
	-moz-transform-origin: 50% 50% -25px;
	transform-origin: 50% 50% -25px;
}
.button span:nth-child(2) {
	background-color: #000;
	color: #FFF;
	font-weight: 200;
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
	-webkit-transform-origin: 50% 50% -25px;
	-moz-transform-origin: 50% 50% -25px;
	transform-origin: 50% 50% -25px;
}
.button:hover span:nth-child(1) {
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
}
.button:hover span:nth-child(2) {
	background-color: #FFF;
	-webkit-transform: rotateX(-90deg);
	-moz-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
}
@media (max-width: 767px) {
	nav{
		position: relative;
		width:90%;
	}
	nav ul li{
		display: block;
		margin:15px 0;
		width: 100%;
		height: 50px;
		float: none;
		font-family:"casablanca-urw",sans-serif;
		font-style: italic;
		font-weight: 200;
		letter-spacing: 0.2em;
		color:#FFF;
	}
	.button {
		position: relative;
		-webkit-perspective: 300px;
		perspective: 300px;
		display: block;
		width: 100%;
		height: 50px;
	}
	.button span {
		display: block;
		position: absolute;
		width: 100%;
		height: 50px;
		text-align: center;
		line-height: 50px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: all .3s;
		transition: all .3s;
		pointer-events: none;
	}
}/*@media*/
/*/////////////////////////////////////////////////

#id_index

/////////////////////////////////////////////////*/

section#id_index{
	height:100%;
	position: relative;
	overflow: hidden;
}
	section#id_index article{
		width: 100%;
		height: 100%;
		position: absolute;
		left:0;top:0;
		box-sizing:border-box;
	}
		section#id_index ul,section#id_index ul li{
			height: 100%;
		}
		section#id_index ul li.visual{
			position: absolute;
			right:0;top:0;
			float:right;
			background: url(../img/index/mv_visual_1.jpg) center center / cover no-repeat;
		}
		section#id_index ul li.visual_smp{
			display:none;
		}
		section#id_index ul#mv1 li.read{
			background: url(../img/index/mv_heading_1.png) 20px center no-repeat;
			background-size:auto auto;
		}
		section#id_index ul#mv1 li.read aside{
			display: block;
			position: absolute;
			left:20px;
			bottom:20px;
		}

		section#id_index ul li.read aside div.readH{
			display:none;
			color:#000;
		}
		section#id_index ul#mv1 li.read aside p{
			letter-spacing: 0.1em;
			font-size:0.73em;
			line-height: 1.85em;
			color:#000;
		}
		section#id_index ul#mv1 li.read .cat{
			background: url(../img/index/mv_cat_1.png) 0 0  no-repeat;
			width: 66px;
			height: 63px;
			position: absolute;
			left:280px;
			bottom:20px;
		}
		@media (max-width: 767px) {
			section#id_index {
				height:100%;
				box-sizing:border-box;
			}
			section#id_index ul li.visual{
				display:none;
			}

			section#id_index ul li.visual_smp{
				position: absolute;
				height: 100%;
				box-sizing:border-box;
				left:0;top:0;
				width:100%;
				background: url(../img/index/mv_visual_1_smp.jpg) center center / cover no-repeat;
				z-index:100;
				display: block;
			}
			section#id_index ul#mv1 li.read{
				position: absolute;
				height:auto;
				box-sizing:border-box;
				bottom:0.3em;left:0.3em;
				width:100%;
				background:none;
				z-index:101;
			}
			section#id_index ul li.read aside div.readH{
				display:block;
				font-size: 1.8em;
				line-height: 1.2em;
				letter-spacing: 5px;
				padding-bottom:0.5em;
				color:#fff;
				text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
			}
			section#id_index ul#mv1 li.read aside p{
				letter-spacing: 0.1em;
				font-size:0.7em;
				line-height: 1.5em;
				color:#fff;
				text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
			}
			section#id_index ul#mv1 li.read .cat{
				background: url(../img/index/mv_cat_1.png) 0 0  no-repeat;
				width: 50px;
				height: 47px;
				position: absolute;
				right:10px;
				bottom:10px;
				background-size:100% auto;
			}
		}/*@media*/

/*/////////////////////////////////////////////////

font,text

/////////////////////////////////////////////////*/
h3{
	display: block;
	padding-bottom:10px;
	border-bottom:2px solid #000;
}
h3 p{
	font-size:8em;
	letter-spacing:0.1em;
	color:#555;
}
h3 span{
	font-size:1.2em;
	letter-spacing:0.1em;
	color:#000;
}
h4{
	color:#000;
	font-size:1.8em;
	line-height: 1.2em;
	letter-spacing: 0.2em;
	margin:40px 0;
	font-weight: normal;
	color:#06F;
}
h5{
	margin-bottom:15px;
}
	h5 p.title{
		font-size:1.4em;
		line-height: 1.5em;
		letter-spacing: 0.15em;
	}
	h5 p.eng{
		letter-spacing: 0.1em;
		font-size:0.6em;
	}
	@media (max-width: 767px) {
		h3{
			display: block;
			padding-bottom:0.4em;
			border-bottom:2px solid #000;
			margin-bottom:2em;
		}
		h3 p{
			font-size:3.8em;
			letter-spacing:0.1em;
			color:#555;
		}
		h3 span{
			font-size:1em;
			letter-spacing:0.1em;
			color:#000;
		}
		h4{
			color:#000;
			font-size:1.3em;
			line-height: 1.2em;
			letter-spacing: 0.2em;
			margin:1em 0;
			font-weight: normal;
			color:#06F;
		}
		h5{
			margin-bottom:15px;
		}
			h5 p.title{
				font-size:1.2em;
				line-height: 1.5em;
				letter-spacing: 0.15em;
			}
			h5 p.eng{
				letter-spacing: 0.1em;
				font-size:0.6em;
			}
	}/*@media*/
.f-ryogo-el{
	font-family: "ryo-gothic-plusn",sans-serif;
	font-style: italic;
	font-weight: 200;
}
.f-ryogo-r{
	font-family: "ryo-gothic-plusn",sans-serif;
	font-style: italic;
	font-weight: 400;
}
.f-ryogo-m{
	font-family: "ryo-gothic-plusn",sans-serif;
	font-style: italic;
	font-weight: 500;
}
.f-ryogo-b{
	font-family: "ryo-gothic-plusn",sans-serif;
	font-style: italic;
	font-weight: 700;
}

.f-heiseigo{
	font-family: "heisei-kaku-gothic-std",sans-serif;
	font-style: italic;
	font-weight: 300;
}

.f-nimbus-sans-r{
	font-family: "nimbus-sans-condensed",sans-serif;
	font-style: italic;
	font-weight: 400;
}
.f-nimbus-sans-b{
	font-family: "nimbus-sans-condensed",sans-serif;
	font-style: italic;
	font-weight: 700;
}
.f-myriad-r{
	font-family: "myriad-pro",sans-serif;
	font-style: italic;
	font-weight: 400;
}
.f-myriad-sb{
	font-family: "myriad-pro",sans-serif;
	font-style: italic;
	font-weight: 600;
}
.f-myriad-b{
	font-family: "myriad-pro",sans-serif;
	font-style: italic;
	font-weight: 700;
}
.text-small{
	font-size: 1.33em;
}
.text-exSmall{
	font-size: 0.7em;
}
.bracket{
	letter-spacing: -0.5em;
}
.bracket2{
	letter-spacing: -0.2em;
}

/*/////////////////////////////////////////////////

utility

/////////////////////////////////////////////////*/
.inqBox{
	display:block;
}
	.inqBox .subtitle{
		letter-spacing: 0.3em;
	}
	.inqBox .finger{
		padding-top:17px;
		width: 70px;
		float:left;
	}
	.inqBox .inqTel{
		padding:7px 0 20px 0;
		float:left;
	}
		.inqBox .inqTel .tel{
			font-size:2.8em;
			letter-spacing:-0.01em;
			color: #0066ff;
		}
		.inqBox .inqTel .description{
			font-size:0.65em;
			letter-spacing: 0.15em;
			line-height: 1.25em;
			color: #0066ff;
		}
.clear{
	height: 0;
	line-height: 0;
	overflow: hidden;
	clear: both;
}
.underline{
	line-height: 1.5em;
	display: inline;
	background: url(../img/share/underline.gif) 0 80% repeat-x;
}
.spc{
	height: 40px;
}
.spc2{
	height: 20px;
}
.smp_responsive_off{
	display:block;
}
.smp_responsive_on{
	display:none;
}
@media (max-width: 767px) {
	.smp_responsive_off{
		display:none;
	}
	.smp_responsive_on{
		display:block;
	}
}/*@media*/

div#canvas{
	width: 100%;
	height: 100%;
	overflow:hidden;
	position: fixed;
	left:0;top:0;
}
div#canvas canvas{
	width: 100%;
	height: 100%;
}
@media (max-width: 767px) {

}/*@media*/
.pageEnd{
	height: 200px;
}
/*/////////////////////////////////////////////////

googlemap

/////////////////////////////////////////////////*/
.map-embed
{
	max-width: 100% ;
	height: 320px ;
	margin: 0;
	padding: 0;

	overflow: hidden ;

	position: relative ;
	top: 0 ;
	left: 0 ;
}

.map-embed > div{
	position: absolute ;
	top: 0 ;
	left: 0 ;

	width: 100% ;
	height: 320px ;

	margin: 0 ;
	padding: 0 ;
}
@media (max-width: 767px) {
	.map-embed,.map-embed > div{
		height: 280px ;
	}
}/*@media*/

.map-embed img{
	max-width: none ;
}
.gm-style-iw div{
	overflow:hidden!important;
}
.tel a{
	color:#0066ff;
	text-decoration: none;
}