/* リセット
---------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
}

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

blockquote, q {
  quotes: none;
}

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  width: 100%;
}

a {
  outline: none;
}

/* 全体構造
---------------------------------------------------- */
body {
  margin: 0;
  padding: 0;
  line-height: 1.4 !important;
  -webkit-text-size-adjust: none;
  font-size: medium;
  font-family: sans-serif;
  color: #333333;
  background: url(img/body_bg.png) no-repeat fixed;
  background-position: right top;
}

h1, h2, h3, h4, h5, h6, p {
  font-size: 1em;
  margin: 0 0 0.5em;
}

ul, ol {
  padding: 0;
  margin: 0 0 20px 20px;
}

img {
  border: none;
  line-hegiht: 0;
}
img a:hover {
  opacity: 0.5 !important;
  filter: alpha(opacity=50) !important;
  cursor: pointer;
}

a:hover img, .hover a:hover {
  opacity: 0.5 !important;
  filter: alpha(opacity=50) !important;
  cursor: pointer;
}

a:link {
  color: #004080;
  text-decoration: none;
}
a:visited {
  color: #666666;
  text-decoration: none;
}
a:hover, a:active {
  color: #990000;
  text-decoration: none;
}

li {
  margin-bottom: 0.35em;
}

.end {
  margin-bottom: 75px !important;
}

.clear {
  clear: both;
}

.red {
  color: red;
}

.engi {
  color: #990000;
}

.blue {
  color: #004080;
}

.underLine {
  padding: 0 1px 1px;
  border-bottom: #999 solid 1px;
}

.tc {
  text-align: center !important;
}

.tr {
  text-align: right !important;
}

.note {
  margin: 1.5em 0;
  padding: 10px 15px;
  border: solid 1px red;
}
.note dt {
  position: relative;
}
.note dt span {
  position: absolute;
}
.note dd {
  padding-left: 1.25em;
}

.aligncenter, div.aligncenter, img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3px;
  margin-bottom: 15px;
}

.alignright {
  display: inline;
  float: right;
}

img.alignright {
  margin: 3px 3px 10px 15px;
  padding: 0;
}

.alignleft {
  display: inline;
  float: left;
}

img.alignleft {
  margin: 3px 15px 10px 3px;
  padding: 0;
}

.wp-caption {
  max-width: 630px;
  text-align: center;
  margin: 5px 5px 25px;
  padding: 5px 3px 3px;
  background-color: white;
  box-shadow: 0 0 5px #999;
  -moz-box-shadow: 0 0 5px #999;
  -webkit-box-shadow: 0 0 5px #999;
}
.wp-caption p {
  font-size: 0.86em;
  text-indent: 0;
  color: #333;
  margin: 5px auto 0 !important;
}
.wp-caption img {
  max-width: 642px;
}
.wp-caption.aligncenter {
  margin-top: 3px;
}
.wp-caption.alignright {
  margin-left: 15px;
}
.wp-caption.alignleft {
  margin-right: 15px;
}

.shadow {
  margin: 5px;
  border: 1px solid white;
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* header構成
---------------------------------------------------- */
header {
  overflow: hidden;
  width: 960px;
  margin: 0 auto 5px;
  padding: 0;
  border-bottom: #D9E8F7 2px solid;
}
header h1 {
  display: inline;
  float: left;
  font-size: 1em;
  text-indent: -9999px;
  margin: 35px 0;
  padding: 0;
}
header h1 a {
  display: block;
  width: 250px;
  height: 45px;
  font-size: 1em;
  background: url(img/logo.png) no-repeat;
  background: url(img/logo.gif) no-repeat\9;
}
header h2 {
  display: inline;
  clear: right;
  float: right;
  font-size: 1em;
  text-indent: -9999px;
  padding: 0;
}

header .online {
	display: block;
    width: 250px;
    height: 40px;
    font-size: 1em;
    margin: 45px 0 5px 230px;
    background: url(img/onlineshop01.png);
    clear: right;
    float: left;
    background-repeat: no-repeat;
}
header h2.add {
  display: block;
  width: 200px;
  height: 20px;
  font-size: 1em;
  margin: 35px 0 5px;
  background: url(img/add.png);
}
header h2.tel {
  display: block;
  width: 200px;
  height: 25px;
  font-size: 1em;
  margin: 0;
  background: url(img/tel.png);
}

/* nav構成
---------------------------------------------------- */
#nav {
  clear: both;
  width: 960px;
  padding: 0;
  margin: 15px auto;
}
#nav ul {
  overflow: hidden;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
#nav ul li {
  display: inline;
  float: left;
  zoom: 1;
  height: 21px;
  text-indent: -9999px;
  margin: 0 61px 0 0;
  margin: 0 54px 0 0\9;
}
#nav ul li a {
  display: block;
}
#nav ul li:last-child {
  margin-right: 0;
}

a#n01 {
  left: 15px;
  width: 79px;
  background: url(img/nav.png) 0 0 no-repeat;
}
a#n02 {
  left: 141px;
  width: 82px;
  background: url(img/nav.png) -141px 0 no-repeat;
}
a#n03 {
  left: 285px;
  width: 79px;
  background: url(img/nav.png) -285px 0 no-repeat;
}
a#n04 {
  left: 427px;
  width: 79px;
  background: url(img/nav.png) -427px 0 no-repeat;
}
a#n05 {
  left: 569px;
  width: 109px;
  background: url(img/nav.png) -569px 0 no-repeat;
}
a#n06 {
  left: 739px;
  width: 206px;
  background: url(img/nav.png) -739px 0 no-repeat;
  margin-right: 0 !important \9;
}
a#n01:hover {
  left: 15px;
  width: 79px;
  background: url(img/nav.png) 0 -21px no-repeat !important;
}
a#n02:hover {
  left: 141px;
  width: 82px;
  background: url(img/nav.png) -141px -21px no-repeat !important;
}
a#n03:hover {
  left: 285px;
  width: 79px;
  background: url(img/nav.png) -285px -21px no-repeat !important;
}
a#n04:hover {
  left: 427px;
  width: 79px;
  background: url(img/nav.png) -427px -21px no-repeat !important;
}
a#n05:hover {
  left: 569px;
  width: 109px;
  background: url(img/nav.png) -569px -21px no-repeat !important;
}
a#n06:hover {
  left: 739px;
  width: 206px;
  background: url(img/nav.png) -739px -21px no-repeat !important;
}

#index a#n01 {
  left: 15px;
  width: 79px;
  background: url(img/nav.png) 0 -42px no-repeat;
}

#about a#n02 {
  left: 141px;
  width: 82px;
  background: url(img/nav.png) -141px -42px no-repeat;
}

#business a#n03 {
  left: 285px;
  width: 79px;
  background: url(img/nav.png) -285px -42px no-repeat;
}

#product a#n04 {
  left: 427px;
  width: 79px;
  background: url(img/nav.png) -427px -42px no-repeat;
}

#contact a#n05 {
  left: 569px;
  width: 109px;
  background: url(img/nav.png) -569px -42px no-repeat;
}

#available a#n06 {
  left: 739px;
  width: 206px;
  background: url(img/nav.png) -739px -42px no-repeat;
}

/* #content構成
---------------------------------------------------- */
#content {
  overflow: hidden;
  clear: both;
  width: 960px;
  margin: 0 auto;
  padding: 0;
  border-bottom: #D9E8F7 2px solid;
}

/* #main構成
---------------------------------------------------- */
#main {
  display: inline;
  float: left;
  width: 960px;
  min-height: 300px;
  margin-top: 25px;
  padding-top: 5px;
}
#main h1 {
  font-family: "ヒラギノ明朝 Pro W3","HG明朝B","MS P明朝",serif;
  font-size: 187.5%;
  font-weight: normal;
  margin-bottom: 35px;
}
#main h2.title {
  font-family: "ヒラギノ明朝 Pro W3","HG明朝B","MS P明朝",serif;
  font-size: 150%;
  font-weight: normal;
  margin-bottom: 25px;
}
#main h2.mainTXT {
  float: left;
  font-family: "ヒラギノ明朝 Pro W3","HG明朝B","MS P明朝",serif;
  font-size: 150%;
  font-weight: normal;
  line-height: 1.8;
  margin: 100px 0 0 50px !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

/* トップページ構成
---------------------------------------------------- */
#index #main {
  margin-top: 0;
}
#index #main h1 {
  display: block;
  width: 755px;
  height: 60px;
  font-size: 1em;
  text-indent: -9999px;
  margin: 75px auto;
  padding: 0;
  background: url(img/topH1.png) no-repeat;
}
#index #main article.topics {
  float: left;
  width: 625px;
  border-top: #f2f2f2 2px solid;
  background: url(img/titleTopics.png) no-repeat;
  background-position: right center;
}
#index #main article.topics div {
  min-height: 200px;
}
#index #main article.topics div h2 {
  overflow: hidden;
  width: 435px;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
}
#index #main article.topics h3 {
  clear: left;
  float: right;
  font-size: 81.75%;
  font-weight: bold;
  margin: 0 0 10px;
  padding: 0 0 5px 28px;
  background: url(img/sankaku.gif) no-repeat;
}
#index #main article.banner {
  float: right;
  width: 300px;
}
#index #main article.banner p {
  clear: both;
}
#index #main article.banner img {
  float: left;
  width: 70px;
  margin: 0 5px 5px 0;
}

/* 新着情報一覧
---------------------------------------------------- */
article.topics {
  margin: 0;
  padding: 10px 0;
}
article.topics h2 {
  clear: left;
  float: left;
  font-size: 81.75%;
  font-weight: bold;
  margin: 0;
  padding: 0 0 5px 28px;
  background: url(img/point.png) no-repeat;
}
article.topics h2 span {
  float: left;
  font-weight: normal;
  padding: 0 1em 0.35em 0;
}
article.topics h2 em {
  font-style: normal;
  color: red;
  padding-right: 0.5em;
}
article.topics h2:last-child {
  margin-bottom: 0;
}
article.topics h2 .linkPDF {
  height: 15px !important;
  padding: 0 0 0 25px;
  background: url(img/linkPDF.png) no-repeat;
}
article.topics h2 .linkImage {
  height: 15px !important;
  padding: 0 0 0 25px;
  background: url(img/linkImage.png) no-repeat;
}

#index #main article.topics h2 {
  width: 435px;
  margin-bottom: 5px;
  padding: 0 0 0 28px;
}

#news_list #main article.topics h2 {
  width: 100%;
  margin-bottom: 15px;
  padding: 0 0 0 28px;
}

/* 事業概要ページ構成
---------------------------------------------------- */
#business #main ul {
  font-size: 92%;
  margin: 0 0 100px;
}
#business #main ul li {
  clear: both;
  margin-bottom: 20px;
  padding: 0 2px 1px;
  border-bottom: dotted 1px #999;
}
#business #main ul li span {
  float: left;
  width: 19.5em;
  font-weight: bold;
}
#business #main .process {
  float: left;
  width: 480px;
  text-align: center;
  margin: 0 0 25px;
}
#business #main .process dd {
  font-weight: bold;
}

/* プロダクトページ構成
---------------------------------------------------- */
#product #main h5 {
  clear: both;
  font-size: 120%;
  margin: 150px auto 200px 300px !important;
}
#product #main .product {
  clear: both;
  margin: 0 50px 75px;
  padding: 0 10px 50px;
  border-bottom: dotted 1px #bbb;
}
#product #main .product h3 {
  font-size: 120%;
  margin-bottom: 15px;
  padding: 2px 0 2px 10px;
  border-left: 5px solid #cde2ff;
}
#product #main .product h3.preparation {
  clear: both;
  padding: 150px auto 200px 150px !important;
}
#product #main .product p.button {
  display: block;
  text-align: center;
  margin: auto;
}
#product #main .product p.button a {
  padding: 15px 30px;
  border-radius: 3px 3px 3px 3px;
  background-color: rgba(150, 186, 255, 0.3);
}
#product #main .product p.button a:hover {
  color: gray;
  background-color: rgba(150, 186, 255, 0.2);
}
#product #main .product dl {
  overflow: hidden;
  margin: 0 0 25px;
}
#product #main .product dl p {
  margin-bottom: 25px;
}
#product #main .product table {
  min-width: 400px;
  font-size: 82%;
  border-top: 1px solid #eee;
}
#product #main .product table th, #product #main .product table td {
  text-align: left;
  vertical-align: top;
  padding: 10px;
  border-bottom: 1px solid #eee;
}
#product #main .product table th {
  white-space: nowrap;
}
#product #main .product table td {
  padding-right: 25px;
}

/* 問い合わせフォーム構成
---------------------------------------------------- */
#contact article.contact {
  margin: 0 0 150px 75px;
}
#contact article.contact table {
  margin: 50px 0 1.5em;
  border-top: solid 1px #ddd;
}
#contact article.contact table th, #contact article.contact table td {
  text-align: left;
  font-weight: normal;
  border-bottom: solid 1px #ddd;
  padding: 7px 10px;
  min-height: 5em !important;
}
#contact article.contact .consent {
  text-align: center;
  margin: 0 250px 25px 50px !important;
  padding: 25px 25px 10px;
  border: red solid 1px;
  border-radius: 5px 5px 5px 5px;
}
#contact article.privacypolicy {
  font-size: 92%;
  line-height: 1.6;
  margin: 0 75px;
}
#contact article.privacypolicy ul {
  list-style-type: disc;
}
#contact article.privacypolicy ol {
  list-style-type: decimal;
}

form * {
  font-size: 96% !important;
}

textarea,
input[type=text] {
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border: #a9a9a9 1px solid;
  -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  width: 450px;
  padding: 4px;
}

textarea {
  height: 200px;
}

input[type=text]:focus {
  border: solid 1px #20b2aa;
}

input[type=text], select {
  outline: none;
}

input[type=submit],
input[type=reset] {
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border: #a9a9a9 1px solid;
  -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  padding: 3px 10px 1px;
  cursor: pointer;
  color: #333;
  font-weight: bold;
  background: #fff;
  text-shadow: 1px 1px 0px #fff;
}
input[type=submit]:hover,
input[type=reset]:hover {
  border: red solid 1px;
  color: red;
  opacity: 0.35 !important;
  filter: alpha(opacity=35) !important;
}

/* 会社概要ページ構成
---------------------------------------------------- */
#about #main table {
  width: 100%;
  margin: 0 0 100px 50px;
}
#about #main table th, #about #main table td {
  padding: 5px 10px;
}
#about #main table th {
  font-weight: bold;
  text-align: left;
}
#about #main ul li {
  margin-bottom: 15px;
}
#about #main ul li span {
  float: left;
  width: 7.5em;
}
#about #main ul.history {
  margin: 0 0 100px 60px;
}
#about #main ul.history li {
  clear: both;
  width: 83%;
  padding: 0 2px 1px;
  border-bottom: dotted 1px #999;
}
#about #main ul.history li span {
  float: left;
  width: 8em;
}
#about #main ul.disc {
  margin: 0 0 100px 85px;
  list-style-type: disc;
}
#about #main p span {
  float: right;
  font-size: 1.1em;
  padding: 15px 0 25px;
}
#about #main .president {
  float: left;
  margin: 0 25px 0 50px;
}
#about #main .thanks {
  margin: 0 25px 100px 50px;
}
#about #main iframe {
  margin: 0 0 0 50px;
}

/* ウェブサイトご利用について ページ構成
----------------------------------------------------------- */
#available article ul {
  list-style-type: disc;
}
#available article ul li {
  font-size: 105%;
  font-weight: bold;
}
#available article ul li * {
  font-size: 95%;
  font-weight: normal;
  margin: 3px 0 5px 15px !important;
}

/* ページのトップへ戻る
----------------------------------------------------------- */
.totop {
  clear: both;
  text-align: right;
  margin: 0;
  padding: 25px 0 25px;
}
.totop p {
  display: inline;
  overflow: hidden;
  font-size: 75%;
  text-indent: 0;
  margin: 0;
  padding: 0;
}
.totop p a:link, .totop p a:visited, .totop p a:active {
  color: #004080;
  text-decoration: none;
}
.totop p a:hover {
  color: #990000;
  text-decoration: none;
}

/* footer構成
---------------------------------------------------- */
footer {
  clear: both;
  width: 960px;
  text-align: center;
  margin: 50px auto;
  padding: 0;
}
footer p {
  font-size: 81.25%;
  margin: 0;
}
