@charset "utf-8";

/* Common Style
--------------------------------------------------*/
body {
	position:relative;
	margin:0;
	padding:0;
	background:#c70000;
	font-family: 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', Sans-serif;
	font-size:12px;
	color:#666;
}

h1,h2,h3,h4,h5,h6,p {
	margin:0;
	padding:0;
}

a {
	color:#fff;
	text-decoration:none;
}

img {
	margin:0;
	padding:0;
	border:none;
	vertical-align:bottom;
}

ul, li {
	margin:0;
	padding:0;
	list-style-type:none;
}

hr {
	margin:30px 0;
	padding:0;
	border:0 none;
	border-top:1px solid #b6b6b6;
	border-bottom:1px solid #fff;
}

input, textarea {
	margin:0;
	padding:0;
}

hr.dotted {
	border-top:1px dotted #929090;
	border-bottom:1px dotted #f7f7f8;
}

.clear {
	clear:both;
}

.clearfix {
	width:100%;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/* IE6/7 support */
.clearfix {
    *zoom: 1;
}

.hiddentext {
	position: absolute;
	width: 1px; /* 0にしてしまうとダメ */
	height: 1px; /* 0にしてしまうとダメ */ 
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	overflow: hidden;
}

.contents-box {
	width:960px;
	margin:0 auto;
}

/* Header
--------------------------------------------------*/
.header-text {
	height:20px;
	margin:0 0 8px;
	padding:2px 0;
	line-height:15px;
	background:#eaeaea;
	font-size:10px;
}

.header-text h1 {
	width:960px;
	margin:0 auto;
	padding:3px 0;
	color:#666;
	font-size: 10px;
	font-weight: normal;
}

.header {
	background:#eee;
	width:100%;
	height:90px;
	margin:0;
	padding:0 0 10px;
	-moz-box-shadow:0 0 5px rgba(0,0,0,0.5);
	-webkit-box-shadow:0 0 5px rgba(0,0,0,0.5);
	box-shadow:0 0 5px rgba(0,0,0,0.5);
}
	
h2 a{
	display:block;
	width:166px;
	height:50px;
	margin:5px 0 0;
	float:left;
	background: url(../img/logo.png) no-repeat;
}

.nav {
  text-align: center;
  overflow: hidden;
  margin: 0 auto;
  padding:15px 0 0;
  width: 640px;
  float:right;
  position: relative; }
  .nav a {
    display: block;
    position: relative;
	float: left;
	padding: 0.9em 0 1.9em;
    width: 14%;
	text-decoration: none;
	color: #9d9d9d;
	-webkit-transition: .7s;
	-moz-transition: .7s;
	-o-transition: .7s;
	-ms-transition: .7s;
	transition: .7s; }
	.nav a:hover {
	color: #f1592a; }
	.nav a.nav-at-present {
	color:#f1592a;}
	
.effect {
	position: absolute;
	left: -14%;
	-webkit-transition: 0.7s ease-in-out;
	-moz-transition: 0.7s ease-in-out;
	-o-transition: 0.7s ease-in-out;
	-ms-transition: 0.7s ease-in-out;
	transition: 0.7s ease-in-out; }

	.nav a:nth-child(1):hover ~ .effect {
		left: 8.75%; }
	.nav a:nth-child(2):hover ~ .effect {
		left: 22.25%; }
	.nav a:nth-child(3):hover ~ .effect {
		left: 36.25%; }
	.nav a:nth-child(4):hover ~ .effect {
		left: 50.5%; }
	.nav a:nth-child(5):hover ~ .effect {
		left: 64.5%; }
	.nav a:nth-child(6):hover ~ .effect {
		left: 78.5%; }
	.nav a:nth-child(7):hover ~ .effect {
		left: 92.75%; }

.ph-line-nav .effect {
  width: 70px;
  height: 2px;
  bottom: 20px;
  background: #f1592a; 
  margin-left:-45px;
}



/* Down Header */
.header-down {
	position:fixed;
	top:0;
	z-index:10;
	background:#e70012;
	background:rgba(231,0,18,0.75);
	width:100%;
	height:40px;
	margin:0;
	padding:5px 0;
	-moz-box-shadow:0 0 5px rgba(0,0,0,0.7);
	-webkit-box-shadow:0 0 5px rgba(0,0,0,0.7);
	box-shadow:0 0 5px rgba(0,0,0,0.7);
}

.header-down h2 a{
	display:block;
	width:133px;
	height:40px;
	margin:0;
	float:left;
	background: url(../img/logo.png) no-repeat left -50px;
}
.header-down .nav {padding:5px 0 0;}
.header-down .nav a {color: #ddd;}
.header-down .nav a:hover {color: #fff; }
.header-down .nav a.nav-at-present {font-weight:bold; color:#fff; text-shadow:0 1px 0 #C00;}
.header-down .ph-line-nav .effect {background:#fff;}


/* maincontents
--------------------------------------------------*/
.headline {
	height:30px;
	border-bottom:1px solid #83000a;
	background:#e70012;
}

.headline h3 {
	float:left;
	margin:3px 0 0;
	color:#fff;
}

.headline a {
	display:block;
	float:right;
	width:55px;
	height:30px;
	border-right:1px solid #000;
	background: url(../img/btn-contact.png);
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	-ms-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}

.headline a:hover {
	width:210px;
}

/* Footer
--------------------------------------------------*/
.contact-link {
	height:200px;
	padding:5px 0 20px;
	background: url(../img/bg-dark-gray.png);
}

.contact-link-box {
	width:800px;
	height:200px;
	margin:0 auto;
	padding:10px 0 0;
	background: url(../img/bg-contact-link.png) no-repeat;
}

.contact-link-box a {
	display:block;
	width:433px;
	height:70px;
	margin:105px 0 0 270px;
	background: url(../img/btn-contact-link.png);
	-moz-box-shadow:0 0 5px #333;
	-webkit-box-shadow:0 0 5px #333;
	box-shadow:0 0 5px #333;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	-ms-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.contact-link-box a:hover {
	margin:103px 0 0 270px;
	-moz-box-shadow:0 0 10px #666;
	-webkit-box-shadow:0 0 10px #666;
	box-shadow:0 0 10px #666;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	-ms-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

.contact-link-box a:active {
	margin:105px 0 0 270px;
	-moz-box-shadow:0 0 5px #333;
	-webkit-box-shadow:0 0 5px #333;
	box-shadow:0 0 5px #333;
}

.footer {
	height:103px;
	padding:30px 0 0;
	background: url(../img/bg-footer.png) repeat-x;
}

.footer .contents-box {
	width:1000px;
}

.footer-nav li {
	float:left;
	margin:15px 7px 0 0;
	padding:0 7px 0 0;
	border-right:1px dashed #600;
}
li.footer-nav-last {border-right:none;}

.footer-nav a {
	display:inline-block;
	padding:3px;
}

.footer-nav a:hover {
	background:#e75d5d;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	color:#600;
}

a.footer-logo {
	display:block;
	float:right;
	width:133px;
	height:40px;
	background: url(../img/logo.png) no-repeat left -50px;
}

#flashMessage{
	-webkit-border-top-left-radius: 5px;  
	-webkit-border-top-right-radius: 5px;  
	-webkit-border-bottom-right-radius: 5px;  
	-webkit-border-bottom-left-radius: 5px;  
	-moz-border-radius-topleft: 5px;  
	-moz-border-radius-topright: 5px;  
	-moz-border-radius-bottomright: 5px;  
	-moz-border-radius-bottomleft: 5px; 
	border: 2px solid #F00;
	background:#FFF;
	text-align:center;
	padding:10px;
	font-size:16px;
	margin:10px auto 10px auto;
	color:#F00;
	font-weight:bold;
	width:700px;
}

div.errorText{
	color: #F00;
}

.copyright {
	text-align: center;
}

/* 404error
--------------------------------------------------*/
.errors {
	text-align:center;
	color:#fff;
	font-size:18px;
	font-weight:bold;
	width:800px;
	margin:30px auto 60px;
	padding:80px;
	height:320px;
	background: url(../img/maestro-errors.png) no-repeat;
}

.errors .text-box {
	padding:30px 0;
	background:rgba(0,0,0,.5);
	margin:0 auto;
	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	-ms-border-radius: 16px;
	-o-border-radius: 16px;
	border-radius: 16px;
}

.errors .text-box h2 {
	font-size:30px;
	margin-bottom:50px;
	line-height:1.2;
}

.errors .text-box p {
	margin-bottom:30px;
}

.errors .text-box a {
	background:rgba(199,0,0,.5);
	border:2px solid #fff;
	-webkit-border-radius: 32px;
	-moz-border-radius: 32px;
	-ms-border-radius: 32px;
	-o-border-radius: 32px;
	border-radius: 32px;
	padding:16px 64px;
	display:inline-block;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	-ms-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.errors .text-box a:hover {
	background:rgba(199,0,0,0.8);
}

p.error {
	text-align:center;
	color:#fff;
}