@import url('reset.css');
html, body, div, span, h1, h2, h3, h4, h5, h6, p, em, img, small, strong {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}
body { display: block; -webkit-text-size-adjust: 100%;}
html { overflow-y: scroll; }
::-moz-selection{ background: #121212; color: #e5e5e5; text-shadow: none; }
::selection { background: #121212; color: #e5e5e5; text-shadow: none; }
a:link { -webkit-tap-highlight-color: #121212; }
.ie7 img { -ms-interpolation-mode: bicubic; }

/* Primary Styles */

body {
	max-width: 2400px;
	margin: 0 auto;
	padding: 0px;
	overflow: hidden;
	font: 1em "Playfair Display","游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",serif;
	letter-spacing: 0.1em;
	color: #e5e5e5;
	background-color: #e5dcd2;
}

/*
font-family: 'Playfair Display', serif;
*/

.zone, .sq, .rect {
	position: relative;
	float: left;
	overflow: hidden;
}

a {
	color: #efeae4;
	text-decoration: none;
}
a:hover {
	color: #ffffff;
	text-decoration: none;
}

.naviset a {
	color: #e5e5e5;
	text-decoration: none;
}
.naviset a:hover {
	color: #666666;
	text-decoration: none;
}


/* BASE ///////////////////////////////////////////////////////////////////////*/
.zone {
	background-color: #1e1f21;
	text-align: center;
}
.rect {
	background-color: #e5dcd2;
	text-align: center;
}
.title {
	position: absolute;
	width: 100%;
	top: 60px;
	text-align: center;
	font-size: 1.2em; 
	line-height: 1.2;
	letter-spacing: 0em;
}

/* HOME ///////////////////////////////////////////////////////////////////////*/
#home, #home2, #mainvisual {
	background-color: #e5dcd2;
	z-index: 52;
}
#home img, #home2 img {
	width: 285px;
	height: 22px;
	position:absolute;
	top:50%;
	left:50%;
	margin:-10px 0 0 -142px;
}
#mainvisual img{
	width: 100%;
	height: 100%;
	position:absolute;
}

/* CONCEPT ///////////////////////////////////////////////////////////////////////*/
#concept {
	background-color: #151516;
	margin-top: -100px;
	padding-top: 100px;
	padding-bottom: 300px;
	z-index: 50;
}
.concepttxt {
	position: absolute;
	width: 90%;
	top: 220px;
	margin-left: 5%;
	font-size: 0.8em; 
	line-height: 1.8;
	letter-spacing: 0.2em;
}
#concepttitle {
	top: 160px;
}

/* GALLERY ///////////////////////////////////////////////////////////////////////*/
#gallery1 {
	background-color: #1e1e1f;
	margin-top: -100px;
	padding-top: 100px;
	z-index: 49;
}
#gallery2 {
	background-color: #272728;
	z-index: 49;
}
#gallerytitle {
	top: 55%;
}

/* ORDER ///////////////////////////////////////////////////////////////////////*/
#orderbg {
	position: relative;
	float: left;
	overflow: hidden;
}
#ordertitlebg {
	background-color: #1b1b1c;
	margin-top: -100px;
	padding-top: 100px;
	z-index: 48;
}
#order1 {
	background-color: #29292a;
    margin-bottom: -600px;
    padding-bottom: 600px;
    z-index: 48;
}
#order2 {
	background-color: #2b2b2c;
    margin-bottom: -600px;
    padding-bottom: 600px;
    z-index: 48;
}
#order3 {
	background-color: #2d2d2e;
    margin-bottom: -600px;
    padding-bottom: 600px;
    z-index: 48;
}
#order4 {
	background-color: #2f2f30;
    margin-bottom: -600px;
    padding-bottom: 600px;
    z-index: 48;
}
#ordertitle2 {
	top: 140px;
}
.ordertitle {
	position: relative;
	float: left;
	display: block;
	width: 80%;
	left: 10%;
	text-align: left;
	font-size: 1em; 
	line-height: 2;
	letter-spacing: 0em;
}
.ordertitle span {
	font-size: 2.4em;
	margin-right: 15px;
}
.ordertxt {
	position: relative;
	float: left;
	display: block;
	text-align: left;
	width: 80%;
	top: 10px;
	left: 10%;
	padding-bottom: 80px;
	font-size: 0.75em; 
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.ordertxt span {
	font-size: 1.3em;
}

/* PRICE ///////////////////////////////////////////////////////////////////////*/
#pricebg {
	position: relative;
	float: left;
	overflow: hidden;
}
#pricetitlebg {
	background-color: #e5dcd2;
	margin-top: -100px;
	padding-top: 100px;
	z-index: 47;
}
#price1 {
	background-color: #e5dcd2;
	margin-bottom: -600px;
    padding-bottom: 600px;
    z-index: 47;
}
#price2 {
	background-color: #e5dcd2;
	margin-bottom: -600px;
    padding-bottom: 600px;
    z-index: 47;
}
#price3 {
	background-color: #e5dcd2;
	margin-bottom: -600px;
    padding-bottom: 600px;
    z-index: 47;
}
#price4 {
	background-color: #e5dcd2;
	margin-bottom: -600px;
    padding-bottom: 600px;
    z-index: 47;
}
#pricetitle2 {
	top: 140px;
	color: #38373d;
}
#pricetitle3 {
	top: 40px;
	color: #38373d;
}
.pricetitle {
	position: relative;
	float: left;
	display: block;
	text-align: center;
	color: #38373d;
	width: 80%;
	left: 10%;
	font-size: 1.6em; 
	line-height: 2;
	letter-spacing: 0em;
	border-bottom: solid 1px #38373d;
}
.pricevalue {
	position: relative;
	float: left;
	display: block;
	text-align: center;
	color: #38373d;
	width: 80%;
	left: 10%;
	font-size: 1.2em; 
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.pricetxt {
	position: relative;
	float: left;
	display: block;
	text-align: left;
	color: #38373d;
	width: 80%;
	top: 20px;
	left: 10%;
	padding-bottom: 80px;
	font-size: 0.75em; 
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.pricetxt span {
	font-size: 1.3em;
}
#pricecaption {
	position: relative;
	float: left;
	text-align: center;
	width: 100%;
	padding-bottom: 80px;
	color: #38373d;
	font-size: 0.55em; 
	line-height: 1.6;
	letter-spacing: 0.1em;
	background-color: #e5dcd2;
	z-index: 48;
}

/* OPTION ///////////////////////////////////////////////////////////////////////*/
#option {
	background-color: #efeae4;
	color: #38373d;
}
.optiontxt {
	position: relative;
	display: block;
	width: 100%;
	top: 80px;
	font-size: 0.75em; 
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.optiontxt2 {
	position: relative;
	float: left;
	margin-top: 120px;
	margin-left: 10%;
	width: 80%;
	font-size: 0.9em; 
	line-height: 1.6;
	letter-spacing: 0.1em;
}

/* SHOP ///////////////////////////////////////////////////////////////////////*/
#shop1 {
	background-color: #1e1e1f;
}
#shop2 {
	background-color: #272728;
	text-align: center;
}
#map_canvas {
	position: absolute;
	width: 90%;
	height: 90%;
	margin: 5%;
}
#shop2 img {
	position:absolute;
	width: 285px;
	height: 22px;
	top: 12%;
	left:50%;
	margin:0 0 0 -142px;
}
.shoptxt {
	position:absolute;
	display: block;
	width: 100%;
	top: 22%;
	font-family: "Times New Roman";
	font-size: 0.7em; 
	line-height: 1.4;
	letter-spacing: 0.1em;
}
.shoptxt span {
	font-size: 1.2em; 
	line-height: 1.8;
}
.shoptxt2 {
	position:absolute;
	display: block;
	width: 90%;
	top: 60%;
	margin-left: 5%;
	font-family: "Times New Roman";
	font-size: 0.6em; 
	line-height: 1.4;
	letter-spacing: 0.1em;
	border: 2px solid #e5e5e5;
}
.shoptxt2 span {
	font-size: 1.2em; 
}
.shoptxt2 b {
	display: block;
	/*margin-left: 5%;
	width: 90%;*/
	height: 30px;
	line-height: 30px;
	background-color: #e5e5e5;
	color: #38373d;
}

/* FOOTER ///////////////////////////////////////////////////////////////////////*/
#footer {
	background-color: #151516;
}
.copyrighttxt {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 38px auto;
	color: #efeae4;
	font-size: 0.6em; 
	line-height: 2;
	letter-spacing: 0.2em;
}

/* NAVIGATION ///////////////////////////////////////////////////////////////////////*/

.tel {
	position: absolute;
	width: 210px;
	height: 54px;
	top: 20px;
	right: 20px;
	border: solid 3px #e5dcd2;
}
.teltxt {
	text-align: left;
	font-family: "Times New Roman";
	font-size: 0.8em; 
	line-height: 1.4;
	letter-spacing: 0.1em;
	margin: 8px 0 0 25px;
}

.naviset {
	position: absolute;
	top: 38px;
	left: 7%;
	left: -webkit-calc((-800px + 100%)/2);
	left: calc((-800px + 100%)/2);
	text-align: center;
}
.naviset span {
	display: inline-block;
	margin-left: 20px;
	color: #e5e5e5;
	font-size: 0.9em; 
	line-height: 1;
	letter-spacing: 0.1em;
}


#menu {
	position: fixed;
	top:0;
	right: 0;
	width: 50px;
	height: 50px;
	background-color: #1e1e1e;
	z-index: 9999;
}

.navi1 {
	position: relative;
	float: left;
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding-bottom: 100px;
	background-color: #1e1f21;
	text-align: center;
	z-index: 9999;
}

.navi2 {
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #1a1a1a;
	opacity: 0.95;
	filter: alpha(opacity=95);
	z-index: 9998;
}

.navi2 .naviset {
	width: 300px;
	height: 300px;
	position:absolute;
	top:50%;
	left:50%;
	margin:-150px 0 0 -170px;
	text-align: center;
}
.navi2 .naviset span {
	margin-top: 30px;
	width: 300px;
	position:relative;
	float: left;
	color: #e5e5e5;
	font-size: 0.8em; 
	line-height: 1;
	letter-spacing: 0.1em;
}

body.is-fixed #home {
  margin-bottom: 100px;
}

body.is-fixed .nav--typeA {
  position: fixed;
  top: 0;
}


.anchor {
	position: relative;
	float: left;
	height: 50px;
	background-color: #ffffff;
}

.titletxt {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 42px auto;
	font-size: 1em; 
	line-height: 1;
	letter-spacing: 0.08em;
}


/* EFFECTS ///////////////////////////////////////////////////////////////////////*/

a .mask {
	-webkit-transition: 0.2s ease-out;
	   -moz-transition: 0.2s ease-out;
	     -o-transition: 0.2s ease-out;
	        transition: 0.2s ease-out;
}
a:hover .mask {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

a .mask2 {
	-webkit-transition: 0.2s ease-out;
	   -moz-transition: 0.2s ease-out;
	     -o-transition: 0.2s ease-out;
	        transition: 0.2s ease-out;
}
a:hover .mask2 {
	opacity: 0.4;
	filter: alpha(opacity=40);
}


/* Media Queries */

/* Column Control Media Queries */

/* One Column ***************************************************************/

@media screen and (min-width:100px) {
	.sq {
		width: 100%;
		margin: 0 0 0 0;
		padding-bottom: 100%;
	}
	.zone {
		width: 100%;
		margin: 0 0 0 0;
		padding-bottom: 100px;
	}
	.rect {
		width: 50%;
		margin: 0 0 0 0;
		/*padding-bottom: 100%;*/
	}
	#home {
		display: none;
	}
	#home2 {
		display: block;
	}
	#home2 {
		padding-bottom: 50%;
	}
	#concept {
		margin-top: 0;
		padding-top: 0;
	}
	.concepttxt {
		font-size: 0.6em; 
		line-height: 1.4;
		top: 120px;
	}
	#concepttitle {
		top: 60px;
	}
	#gallery1 {
		margin-top: 0;
		padding-top: 0;
		padding-bottom: 100px;
	}
	#gallerytitle {
		top: 40px;
	}
	#ordertitlebg, #pricetitlebg {
		margin-top: 0px;
		padding-top: 0px;
	}
	#ordertitle2, #pricetitle2 {
		top: 40px;
	}
	.navi1 {
		display: none;
	}
	.navi2 {
		display: none;
	}
	#menu {
		display: block;
	}
	#shop2 {
		padding-bottom: 120%;
	}
	#shop2 img {
		top: 12%;
	}
	.shoptxt {
		top: 22%;
	}
	.shoptxt2 {
		top: 55%;
		font-size: 0.6em; 
		line-height: 1.4;
	}
	.copyrighttxt {
		font-size: 0.4em; 
		line-height: 1;
		letter-spacing: 0.1em;
	}
}

/* Two Column ***************************************************************/

@media screen and (min-width:800px) {
	.navi1 {
		display: block;
	}
	.navi2 {
		display: none;
	}
	#menu {
		display: none;
	}
	.sq {
		width: 50%;
		margin: 0 0 0 0;
		padding-bottom: 50%;
	}
	.rect {
		width: 25%;
		margin: 0 0 0 0;
	}
	#home {
		display: block;
	}
	#home2 {
		display: none;
	}
	#concept {
		margin-top: -100px;
		padding-top: 100px;
	}
	.concepttxt {
		font-size: 0.8em; 
		line-height: 1.8;
		top: 220px;
	}
	#concepttitle {
		top: 160px;
	}
	#gallery1 {
		margin-top: -100px;
		padding-top: 100px;
		padding-bottom: 50%;
	}
	#gallerytitle {
		top: 55%;
	}
	#ordertitlebg, #pricetitlebg {
		margin-top: -100px;
		padding-top: 100px;
	}
	#ordertitle2, #pricetitle2 {
		top: 140px;
	}
	#shop2 {
		padding-bottom: 50%;
	}
	#shop2 img {
		top: 20%;
	}
	.shoptxt {
		top: 30%;
	}
	.shoptxt2 {
		top: 60%;
		font-size: 0.7em; 
		line-height: 1.4;
	}
	.copyrighttxt {
		font-size: 0.6em; 
		line-height: 2;
		letter-spacing: 0.2em;
	}
}


/* Two Column ***************************************************************/

@media screen and (min-width:1000px) {
	.rect {
		width: 25%;
		margin: 0 0 0 0;
		/*padding-bottom: 35%;*/
	}
}

