﻿/* style.css						*/
/* @copyright MAENOMERI CO., LTD	*/

/*
 * 初期値
 */
* {
	font-family: "MS ゴシック", Arial;
	color: #333;
}

body {
	margin: 0;
	padding: 0;
}

p, li {
	font-size: 14px;
}

td {
	margin: 0;
	padding: 0;
	text-align: left;
}

h1 {
	position: relative;
	margin-top: 0;
	padding: 10px 10px 10px 40px;
	border: 1px solid #777;
	border-bottom: 2px solid #555;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-size: 23px;
	color: #444;
	line-height: 35px;
	text-shadow: 2px 2px 2px rgba(200,200,200,0.9);
}
h1::after {
	content: '';
	position: absolute;
	top: 14px;
	left: 7px;
	z-index: 2;
	width: 15px;
	height: 15px;
	border: 5px solid #3498DB;
	border-radius: 100%
}

h2 {
	margin-top: 0.5em;
	padding: 5px 5px 5px 10px;
	border-bottom: 1px solid #AAA;
	border-left: 15px solid #AAA;
	font-size: 20px;
	color: #444;
}

section {
	margin: 0;
	padding: 40px 20px;
	width: auto;
}

article {
	margin: 0;
	padding: 20px;
	width: auto;
}

section article {
	width: auto;
}

time {
	margin-right: 10px;
	font-style: italic;
}



/*
 * 汎用スタイル
 */
.contents {
	position: relative;
	margin: 10px auto 0 auto;
	width: auto;
	overflow: hidden;
}

.contents-fix {
	position: relative;
	margin: 40px auto 0 auto;
	width: auto;
	overflow: hidden;
}

.harf-contents {
	display: inline-block;
	width: 45%;
	min-width: 300px;
	margin: 10px;
	text-align: left;
}

.harf-contents h2 {
	border: none;
	margin-top: 0em;
}



/* カラー指定スタイル */
.blue {
	color: #00F;
}

.green {
	color: #0C0;
}

.warning {
	color: #F00;
}


/* 位置指定スタイル */
.alignleft {
	text-align: left;
}

.alignright {
	text-align: right;
}

.aligncenter {
	text-align: center;
}

.aligntop {
	vertical-align: top;
}


/* フォーム用スタイル */
form.inline-b {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;
}

form#regist-form {
	text-align: center;
}

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="date"], input[type="number"], input[type="submit"], select {
	padding: 5px;
	font-size: 18px;
}

input[type="checkbox"] {
	-moz-transform:		scale(1.5);
	-webkit-transform:	scale(1.5);
	transform:		scale(1.5);
}

input[type="text"], input[type="email"], input[type="password"] {
	width: 95%;
	max-width: 18em;
}

textarea {
	width: 95%;
	height: 15em;
	font-size: 16px;
}

input.accept {
	margin-top: 20px;
	border: 0px;
	width: 400px;
	height: 60px;
	color: #444;
	font-size: 20px;
	text-align: center;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	background-image: linear-gradient(
	-45deg,
	#FFF 25%,
	#FDD 25%, #FDD 50%,
	#FFF 50%, #FFF 75%,
	#FDD 75%, #FDD
	);
	/* 幅8px、高さ8pxで背景画像のサイズを指定 */
	background-size: 8px 8px;
}

input.accept:hover {
	cursor: pointer;
	background-image: linear-gradient(
	-45deg,
	#F22 25%,
	#F44 25%, #F44 50%,
	#F22 50%, #F22 75%,
	#F44 75%, #F44
	);
	color: #FFF;
}



/*
 * ヘッダースタイル
 */
header {
	width: auto;
	background-size: auto 40px;
	background-position: 98% 90%;
	background-repeat: no-repeat;
	background-color: #FFF;
	overflow: hidden;
}

header.scroll-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
	display: none;
}

header .title {
	position: relative;
	top: 5px;
	left: 2%;
	height: 58px;
	background-image: url("../image/header_logo.png");
	background-size: auto 50px;
	background-repeat: no-repeat;
}

header p {
	margin: 0;
	padding: 0;
}

header .title a {
	display: block;
	width: 185px;
	height: 50px;
}

header .title span {
	display: none;
}

.global-menu, .global-menu-fix {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	padding: 0;
	z-index: 200;
	background-color: #FFF;
	border-bottom: 1px solid #AAA;
}

.global-menu {
	border-bottom: 1px solid #666;
	display: none;
}

.global-menu ul, .global-menu-fix ul {
	width: 100%;
	margin: 0;
	padding: 0;
}

.global-menu li, .global-menu-fix li {
	display: inline-block;
	margin: 0;
	padding: 0;
	text-align: center;
	list-style: none;
}

.global-menu li:not(.title) a {
	position: absolute;
	top: 14px;
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	width: 120px;
	height: 32px;
	text-align: center;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	line-height: 32px;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	opacity: 0.9;
}

.global-menu li a.regist {
	right: 170px;
	background-color: #F33;
}

.global-menu li a.login {
	right: 20px;
	background-color: #1E1;
}

.global-menu-fix li:not(.title) a {
	position: absolute;
	top: 10px;
	display: block;
	width: 170px;
	height: 32px;
	text-align: center;
	border-bottom: 2px solid #999;
	line-height: 32px;
	color: #444;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
}

.global-menu-fix li a.request {
	left: 550px;
}

.global-menu-fix li a.view {
	left: 750px;
}

.global-menu-fix li a.account {
	left: 950px;
}

.global-menu-fix li.dropdown {
	position: absolute;
	top: 10px;
	right: 2%;
	display: block;
	width: 35px;
	height: 35px;
	text-align: center;
	line-height: 35px;
	font-weight: bold;
	text-decoration: none;
}

.global-menu-fix li #account {
	position: relative;
	cursor: pointer;
}

.global-menu-fix li ul.child {
	display: none;
	position: absolute;
	left: -200px;
}

.global-menu-fix li ul.child li {
	padding: 5px 20px;
	width: 200px;
	min-height: 24px;
	background: #F6F6F6;
	text-align: left;
}

.global-menu-fix li ul.child li a {
	position: relative;
	top: 0;
	width: auto;
	height: auto;
	text-align: left;
	border: none;
	font-size: 14px;
	font-weight: normal;
	vertical-align: middle;
}

.global-menu-fix li ul.child li p {
	margin-bottom: 0;
	padding: 10px 0;
	border-bottom: 1px solid #999;
}

.global-menu li a:hover, .global-menu-fix li a:hover, .global-menu-fix li ul.child li a:hover {
	text-decoration: underline;
}


/*
 * 管理ページ用スタイル
 */
ul.middle-menu {
	margin: 0;
	padding: 0;
}

ul.middle-menu li {
	display: inline-block;
	list-style: none;
}

ul.middle-menu li a {
	display: block;
	margin: 5px;
	padding: 10px 20px;
	border: 1px solid #666;
	border-radius: 25px;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	font-size: 120%;
	text-decoration: none;
}

ul.middle-menu li a:hover {
	background-color: #FFA;
	border: 1px solid #666;
}

/*
 * 見積り依頼用スタイル
 */
table {
	width: 100%;
	border-spacing: 0;
	font-size: 14px;
}

tr.linktr:hover {
	background-color: #FF9;
	cursor: pointer;
}

table caption {
	text-align: left;
	font-size: 18px;
	margin-left: 20px;
	width: 20%;
	padding: 8px;
	border-radius: 5px 5px 0 0;
	border-top: 1px solid #AAA;
	border-right: 1px solid #AAA;
	border-left: 1px solid #AAA;
	font-weight: bolder;
	text-shadow: 1px 1px 1px rgba(150,150,150,0.9);
}

table.regist-table th {
	padding: 5px;
	background-color: #DDD;
	color: #444;
	border-top: 1px solid #AAA;
	border-left: 1px solid #AAA;
	text-align: left;
}

table.regist-table th:last-child {
	border-right: 1px solid #AAA;
}

table.regist-table tr:last-child th {
	border-bottom: 1px solid #AAA;
}

table.regist-table td {
	padding: 10px;
	border-top: 1px solid #AAA;
	border-left: 1px solid #AAA;
}

table.regist-table td:last-child {
	border-right: 1px solid #AAA;
}

table.regist-table tr:last-child td {
	border-bottom: 1px solid #AAA;
}


table.project tr {
	background-color: #FFF;
}

table.project th {
	color: #FFF;
	padding: 8px 15px;
	background-color: #258;
	background: -moz-linear-gradient(rgba(34,85,136,0.7), rgba(34,85,136,0.9) 50%);
	background: -webkit-gradient(linear, 100% 0%, 100% 50%, from(rgba(34,85,136,0.7)), to(rgba(34,85,136,0.9)));
	font-weight: bold;
	border-left: 1px solid #258;
	border-top: 1px solid #258;
	border-bottom: 1px solid #258;
	line-height: 120%;
	text-shadow: 0 -1px 0 rgba(34,85,136,0.9);
	box-shadow: 0px 1px 1px rgba(255,255,255,0.3) inset;
}

table.project td {
	padding: 8px 15px;
	border-top: 1px solid #258;
	border-left: 1px solid #258;
}

table.project td:last-child {
	border-right: 1px solid #258;
	box-shadow: 2px 0px 1px rgba(0,0,0,0.1);
}

table.project tr:first-child td {
	border-top: 1px solid #258;
}

table.project tr:first-child td:last-child {
	border-right: 1px solid #258;
	box-shadow: 2px 0px 1px rgba(0,0,0,0.1);
}

table.project th:last-child {
	border-right: 1px solid #258;
	box-shadow: 2px 2px 1px rgba(0,0,0,0.1), 0px 1px 1px rgba(255,255,255,0.3) inset;
}

table.project tr:last-child th {
	box-shadow: 0px 2px 1px rgba(0,0,0,0.1);
}

table.project tr:last-child th:first-child {
	border-radius: 0 0 0 5px;
}

table.project tr:last-child td {
	border-bottom: 1px solid #258;
	box-shadow: 2px 2px 1px rgba(0,0,0,0.1);
}


/*
 * #spec:明細スタイル
 */
section#spec {
	max-width: 800px;
	margin: 40px auto;
	border: 1px solid #AAA;
}

section#spec h1 {
	text-align: center;
	border: none;
	text-shadow: none;
	margin: 0;
	padding: 0;
}

section#spec h1::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 0;
	height: 0;
	border: none;
}

section#spec h2 {
	max-width: 300px;
	border-left: none;
}

section#spec p.monthview {
	text-align: right;
	font-size:16px;
}

section#spec table {
	max-width: 600px;
	margin: auto;
	font-size: 20px;
	text-align: left;
}

section#spec table caption {
	text-align: center;
	font-size: 20px;
	margin: 0;
	width: 100%;
	max-width: 600px;
	padding: 10px 0;
	border: none;
	font-weight: bolder;
	text-shadow: none
}

section#spec table th,
section#spec table td {
	padding: 10px;
	border-top: 1px solid #AAA;
	border-left: 1px solid #AAA;
}

section#spec table td {
	border-right: 1px solid #AAA;
}

section#spec table tr:last-child th,
section#spec table tr:last-child td {
	border-bottom: 1px solid #AAA;
}

/*
 * #specbutton:明細操作用ボタンスタイル
 */
section#specbutton {
	margin: 0;
	padding: 0;
	text-align: center;
}

section#specbutton input {
	margin: 5px;
}

section#specbutton ul {
	margin: 0 0 20px 0;
	padding: 0;
}

section#specbutton ul li {
	display: inline-block;
	list-style: none;
	margin: 5px;
}

section#specbutton ul li a {
	display: block;
	padding: 10px 20px;
	border: 1px solid #666;
	background-color: #DDD;
	text-decoration: none;
}

section#specbutton ul li a:hover {
	background-color: #FFA;
}


/*
 * アイコンスタイル
 */
ul.icons {
	text-align: center;
	margin: 0 auto;
	padding: 0;
}
ul.icons li {
	display: inline-block;
	text-decoration: none;
	margin: 10px 20px;
}

ul.icons li a {
	display: block;
	text-align: center;
}

ul.icons li a img {
	transition: 0.3s;
	width: 80px;
	height: 80px;
	background-color: #EEE;
	border: 1px solid #EEE;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	display: block;
}

ul.icons li a span {
	display: block;
	margin-top: 5px;
}

ul.icons li a:hover img {
	transition: 0.3s;
	opacity: 0.8;
	-moz-transform: scale(1.05,1.05);
	-webkit-transform: scale(1.05,1.05);
	-o-transform: scale(1.05,1.05);
	-ms-transform: scale(1.05,1.05);
}


/*
 * トップページニュース用スタイル
 */
section#top_news {
	text-align: center;
}

section#top_news h2 {
	border: none;
	font-size: 28px;
}

section#top_news h2 span {
	padding: 0.25em 0.5em;
	border: 2px solid #666;
}

section#top_news ul {
	max-width: 800px;
	margin: 2em auto;
}

section#top_news ul li {
	position: relative;
	list-style: none;
	font-size: 18px;
	text-align: left;
	padding-bottom: 0.5em;
	border-bottom: 1px dashed #666;
}

section#top_news ul li::after,
section#top_news ul li::before {
	display: block;
	content: '';
	position: absolute;
}

section#top_news ul li::after {
	top: .35em;
	left: -1.2em;
	width: 14px;
	height: 14px;
	background-color: #3498db;
	border-radius: 100%;
}

section#top_news ul li::before {
	z-index: 2;
	top: .625em;
	left: -.975em;
	width: 4px;
	height: 4px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


/*
 * フッタースタイル
 */
footer ul {
	margin: 0px;
	padding: 0px;
}

footer ul li {
	list-style: none;
}

footer {
	text-align: center;
	background-color: #666;
	color: #FFF;
	padding: 10px 0px;
}

footer a {
	color: #FFF;
}

footer a:hover {
	text-decoration: none;
}

footer p {
	color: #FFF;
}

footer p strong {
	color:#FFF;
}

footer ul li {
	display: inline-block;
	border-right: 1px solid #FFF;
	padding: 2px 10px;
}

footer ul li:last-child {
	border-right: none;
}

div.sinfo {
	color: #FFF;
	border: 1px solid #666;
	width: 250px;
	float: left;
	text-align: center;
	padding: 15px;
	margin: 10px;
}

div.sinfo p {
	text-align: left;
}


@media screen and (max-width:480px){
	* {
		-webkit-text-size-adjust: 100%;
	}
	
	section {
		padding: 3%;
	}
	
	h1 {
		margin-top: 20px;
	}
	
	.svd {
		display: none;
	}
	
	table.regist-table tr td span {
		word-break: break-all;
		word-wrap: break-word;
	}
	
	table.project td.svlast,
	table.project th.svlast {
		border-right: 1px solid #258;
		box-shadow: 2px 2px 1px rgba(0,0,0,0.1);
	}

	/*
	 * アイコンスタイル
	 */
	ul.icons {
		text-align: left;
	}

	ul.icons li {
		margin: 10px;
	}

	ul.icons li a img {
		width: 76px;
		height: 76px;
		border-radius: 8px;
		-webkit-border-radius: 8px;
		-moz-border-radius: 8px;
	}

	ul.icons li a span {
		font-size: 80%;
	}
}

@media screen and (min-width:768px){
}

@media screen and (max-width:1024px){
}


/* タスクボタン用スタイル */
.gtradio {
  display: inline-block;
  width: 120px;
  text-align: center;
  border: 1px solid #CCC;
  color: #666;
  margin: 0 5px 5px 0;
}

.gtradio:hover {
  cursor: pointer;
  border-color: #AAC;
  box-shadow: 2px 2px 2px rgba(0,0,0,0.3);
}

#change {
  color: #00F;
}

#change:hover {
  cursor: pointer;
}