/* CSS Document */

html {
	-webkit-text-size-adjust: 100%;
	width:100%;
	height:100%;
	line-height:1.7;
	font-size:16px;
}

img {
	border:0;
}

body {
	color:#666;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	position:relative;
	font-family: "ヒラギノ明朝 Pro W6","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif;
}

#bg {
	background:url(images/bg.gif) center center;
	height:100%;
	width:100%;
	position:fixed;
	z-index:-1;
}
	

h1,h2,h3,h4 {
	font-family: "ヒラギノ明朝 Pro W6","Hiragino Mincho Pro","HGS明朝B","ＭＳ Ｐ明朝",serif;
	font-weight:normal;
}	

p {
	text-indent:1em;}
	
	
a:link,a:visited { color:#000;
/*-webkit-transition: 0.8s;
    -moz-transition: 08s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;*/
    transition: 0.8s;}



a:hover,a:focus { color:#ccc;}

#header {
	width:100%;
	height:100%;
	background-image:url(images/maiko.jpg);
	background-size:cover;
	background-position:right bottom;
	box-shadow: 0 0 8px rgba(0,0,0,0.5);
}

h1 {
	margin:0;
	position:absolute;
	left:50%;
	top:5%;
	margin-left:-1.5em;
	background-color:rgba(255,255,255,0.9);
	    -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ddffffff,EndColorStr=#ddffffff)";
	padding:30px 0.5em;
	letter-spacing:0.1em;
	line-height:1.5;
	font-weight:normal;
	font-size:24px;
	box-shadow: 0 0 8px rgba(0,0,0,0.3);
	writing-mode: tb-rl; /* IE独自仕様 */
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
}

@media only screen and (max-width: 770px) {
h1 {	
	font-size:22px;
	padding:20px 10px;
}
}

@media only screen and (max-width: 480px) {
h1 {	
	font-size:16px;
	padding:10px 5px;
}	
	
}

.company {
	margin:0;
	background:#000;
	color:#fff;
	border:1px solid #fff;
	font-weight:bold;
	padding:10px;
	line-height:1;
	position:absolute;
	bottom:15px;
	right:10px;
	text-indent:0;
	letter-spacing:0.1em;
	box-shadow: 0 0 5px rgba(0,0,0,0.4);
	font-size:14px;
}

.company span{
	font-size:10px;
	margin-right:5px;
}

.mark {
	width:16px;
	height:16px;
	margin-top:5px;
}


#nav {
	margin:0;
	padding:0;
	list-style:none;
	position:fixed;
	z-index:9999;
	height:100%;
	min-height:100%;
	top:0;
	left:0;
	background-color:rgba(0,0,0,0.7);
		    -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#dd000000,EndColorStr=#dd000000)";
	line-height:1;
	width:56px;
	overflow-y:auto;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
}

#nav li {
margin:0;
padding:0;
}


#nav li a {
	display:block;
	width:16px;
	padding:15px 20px 15px 20px;
	margin:0;
	text-decoration:none;
	color:#fff;
	text-shadow:-1px -1px 0 #000;
}

@media only screen and (max-width: 770px) {
#nav li a {
	padding:8px 20px 8px 20px;
}
}

@media only screen and (max-width: 480px) {
#nav li a {
	padding:5px 20px 5px 20px;
}
	
}

#nav li a:hover,
#nav li a:focus {
	background:#000;
}

li#to-order a {
	background:#C51215;
	color:#fff;
	padding:15px 20px;
	font-weight:bold;
	margin-top:10px;
}




.section {
	max-width:700px;
	margin:15px auto;
	min-height:120%;
	
	overflow:hidden;
	padding:15px 60px 30px 60px;
	position:relative;
	left:30px;
		background-color:rgba(255,255,255,0.7);
		    -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ddffffff,EndColorStr=#ddffffff)";
			box-shadow: 0 0 3px rgba(0,0,0,0.2);
				text-shadow:1px 1px 0 #fff;
}

.text {
	margin:0 30px 30px 0;
	max-height:65%;
	writing-mode: tb-rl; /* IE独自仕様 */
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-align:justify;
	zoom: 1;
}

.image {
	float:right;
	width:60%;
}



@media only screen and (max-width: 890px) {
.section {
	padding:15px 15px 30px 70px;
	left:0;
}
}

#about,#price {
	margin:45px auto;
}







h2 {
	text-align:center;
	border-bottom:1px solid #aaa;
	padding:20px;
	font-size:24px;
	letter-spacing:0.1em;
}

#application
	background:#666;

h3 {
	text-align:center;
	font-size:21px;
}

@media only screen and (max-width: 800px) {
	
.section {
	max-height:none;
}	
	
.image {
	float:none;
	width:70%;
	margin:0 auto;
	display:block;
}

.text {
	margin:0 auto;
	float:none;
	max-height:380px;
}
}


@media only screen and (max-width: 600px) {
	
.image {
	width:100%;
	margin-bottom:20px;
}

h2 {
	font-size:22px;
}

h2 span {
	display:block;
}

}




h3 {
	text-align:center;
}

dl {margin-left:1em;}

.jump {
	text-align:center;
	clear:both;
	padding:30px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	}
	
.caption {
	font-size:13px;
	text-indent:0;
	max-width:530px;
	margin:30px auto;
	padding:15px;
	border:1px dotted #ccc;
	background:#fff;
	clear:both;
}

.price {
	text-align:center;
	color:#bb0000;
	text-indent:0;
}

.none {
	display:none;
}

#order {
	background:#666;
	color:#ccc;
	padding: 30px 15px 30px 70px;
	text-align:center;
}

#order a {
	color:#fff;
}
	

}

.system {
	background:#fff;
	margin-bottom:20px;
	padding:25px 0;
	border:1px solid #eee;
}

@media only screen and (max-width: 480px) {
.system {
	font-size:13px;
}
	
}

.system table {
	border-collapse:collapse;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	width:90%;
	margin:0 5%;
}

.system tr {
	border-bottom:1px dotted #ccc;
}

.system th {
	padding:15px 10px;
	text-align:left;
}

.system td {
	padding:15px 10px;
	text-align:center;
	font-weight:bold;
}

.system td.rental {
	background:#eee;
}

#kamigata {
	overflow:hidden;
}


#kamigata div {
	width:44%;
	margin:3%;
	float:left;
}

@media only screen and (max-width: 480px) {
#kamigata div {
	width:94%;
	float:none;
}
	
}

#kamigata div h4{
	padding:10px;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	margin:0 0 1em 0;
	text-shadow:none;
	line-height:1;
}

#kamigata div img{
	width:100%;
}

#kamigata div p{
	text-indent:0;
	margin:5px 0;
}

.next {
	position:relative;
	line-height:1;
	padding-left:1.2em;
	margin:0 10px;
}

.next:before {
	content: ' ';
	border: transparent solid 0.4em;
	border-top-color: #333;
	position: absolute;
	left: 0;
	top: 0.4em;
}

.back {
	position:relative;
	line-height:1;
	padding-right:1.2em;
	margin:0 10px;
}

.back:after {
	content: ' ';
	border: transparent solid 0.4em;
	border-bottom-color: #333;
	position: absolute;
	right: 0;
	bottom: 0.4em;
}

hr {
	display:block;
	height:1px;
	border:none;
	background:#ccc;
	margin:2em 0;
}

.button a {
	display:block;
	font-weight:bold;
	padding:15px 10px;
	color:#fff;
	background:#C51215;
	border:1px solid #fff;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	text-shadow:-1px -1px 0 #000;
	text-decoration:none;
	text-align:center;
	max-width:400px;
	margin:1em auto;
}

.button a:hover {
	background:#000;
}



