* {
  margin: 0;
}

img { border: 0 }

html, body {
  height: 100%;
  background-color: white;
}

#wrapper {
  width: 800px;
  min-height: 100%;
  height: auto !important;
  height: 100%;
  margin: 0 auto -1.5em auto;
  background: #faf0cc url(/images/common/side_bg.png) repeat-y 0 0;
}

body.home div#wrapper {
  background-image: none;
}
#footer, #push {
  margin: 0 auto;
  text-align: right;
  width: 780px;
  height: 1.5em;
  font-size: 12px;
  clear: both;
}

#header {
  background: url(/images/common/header_bg.png) no-repeat 0 0 ;
  height: 120px;
  position: relative;
}

  h1 {
    font-size: 14px;
    color: white;
    margin: 0;
    padding: .2em;;
    text-align: center;
    font-weight: normal;
  }

  h2 {
    font-size: 14px;
    margin: 0;
    padding: 0;
  }

  h2 a {
    display: block;
    font-size: 14px;
    text-indent: -10000px;
    position: absolute;
    top: 35px;
    left: 22px;
    width: 388px;
    height: 80px;
    background: url(/images/common/title.png) no-repeat 0 0;
  }

  div#freedial {
    position: absolute;
    top: 41px;
    left: 522px;
  }

ul#topmenu {
  list-style: none;
  width: 800px;
  height: 46px;
  background: url(/images/common/menu-back.png) no-repeat 0 0;
  margin: 0;
  padding: 0;
}

ul#topmenu li {
  margin: 0;
  padding: 0;
  display: inline;
}

ul#topmenu li a {
  display: block;
  float: left;
  background-image: url(/images/common/menu.png);
  background-repeat: no-repeat;
  text-indent: -10000px;
  height: 46px;
}

ul#topmenu li.about a { width: 104px; background-position: 0 0; }
ul#topmenu li.event a { width: 77px; background-position: -104px 0; }
ul#topmenu li.products a { width: 86px; background-position: -181px 0; }
ul#topmenu li.salon a { width: 105px; background-position: -267px 0; }
ul#topmenu li.manual a { width: 98px; background-position: -372px 0; }
ul#topmenu li.contact a { width: 108px; background-position: -470px 0; }
ul#topmenu li.blog a { width: 117px; background-position: -578px 0; }
ul#topmenu li.link a { width: 105px; background-position: -695px 0; }
ul#topmenu li.about a:hover { background-position: 0 -46px; }
ul#topmenu li.event a:hover { background-position: -104px -46px; }
ul#topmenu li.products a:hover { background-position: -181px -46px; }
ul#topmenu li.salon a:hover { background-position: -267px -46px; }
ul#topmenu li.manual a:hover {  background-position: -372px -46px; }
ul#topmenu li.contact a:hover {  background-position: -470px -46px; }
ul#topmenu li.blog a:hover {  background-position: -578px -46px; }
ul#topmenu li.link a:hover { background-position: -695px -46px; }

#sidebar {
  float: left;
  width: 155px;
}

ul#sidemenu  {
  list-style: none;
  width: 136px;
  margin: 20px auto;
  padding: 0;
}

ul#sidemenu li {
  margin-bottom: 4px;
}

ul#sidemenu li a {
  display: block;
  width: 136px;
  text-indent: -10000px;
  background-position: 0 0;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}

body.about ul#sidemenu li a { background-image: url(/images/about/sidemenu.png); }
body.event ul#sidemenu li a { background-image: url(/images/event/sidemenu.png); }
body.products ul#sidemenu li a { background-image: url(/images/products/sidemenu.png); }
body.contact ul#sidemenu li a { background-image: url(/images/contact/sidemenu.png); }

body.about ul#sidemenu li.about   a { height: 39px; }
body.about ul#sidemenu li.access  a { height: 41px; background-position: 0 -39px;}
body.about ul#sidemenu li.chikai  a { height: 41px; background-position: 0 -81px; }
body.about ul#sidemenu li.privacy a { height: 46px; background-position: 0 -122px; }
body.about ul#sidemenu li.about   a:hover { background-position: -136px 0 ; }
body.about ul#sidemenu li.access  a:hover { background-position: -136px -39px;}
body.about ul#sidemenu li.chikai  a:hover { background-position: -136px -81px; }
body.about ul#sidemenu li.privacy a:hover { background-position: -136px -122px; }

body.event ul#sidemenu li.event  a { height: 40px; }
body.event ul#sidemenu li.reform a { height: 42px; background-position: 0 -40px; }
body.event ul#sidemenu li.event  a:hover { background-position: -136px 0; }
body.event ul#sidemenu li.reform a:hover { background-position: -136px -40px; }

body.products ul#sidemenu li.shokunin  a { height: 42px; }
body.products ul#sidemenu li.shinchiku a { height: 42px; background-position: 0 -42px; }
body.products ul#sidemenu li.reform    a { height: 41px; background-position: 0 -84px; }
body.products ul#sidemenu li.catalog   a { height: 46px; background-position: 0 -125px; }
body.products ul#sidemenu li.shokunin  a:hover { background-position: -136px 0; }
body.products ul#sidemenu li.shinchiku a:hover { background-position: -136px -42px; }
body.products ul#sidemenu li.reform    a:hover { background-position: -136px -84px; }
body.products ul#sidemenu li.catalog   a:hover { background-position: -136px -125px; }

body.contact ul#sidemenu li.contact   a { height: 40px; margin-bottom: 10px; }
body.contact ul#sidemenu li.mitsumori a { height: 42px; margin-bottom: 10px; background-position: 0 -40px; }
body.contact ul#sidemenu li.delivery  a { height: 41px; margin-bottom: 10px; background-position: 0 -82px; }
body.contact ul#sidemenu li.reform    a { height: 46px; margin-bottom: 10px; background-position: 0 -123px; }
body.contact ul#sidemenu li.contact   a:hover { background-position: -136px 0; }
body.contact ul#sidemenu li.mitsumori a:hover { background-position: -136px -40px; }
body.contact ul#sidemenu li.delivery  a:hover { background-position: -136px -82px; }
body.contact ul#sidemenu li.reform    a:hover { background-position: -136px -123px; }

#sidebanners {
  text-align: center;
}

#sidebanners div {
  margin: 2px 0;
}
#main {
  float: right;
  width: 645px;
  background: url(/images/common/content_bg.png) no-repeat 0 0;
}
#content {
  margin: 20px 12px;
  font-size: 88%;
  line-height: 1.6;
}

div#pankuzu {
  font-size: 88%;
  margin-top: -1em;
  margin-bottom: 2em;
  text-align:  right;
}

/*** $B3F%Z!<%8(B ***/

div.child_banner {
  margin: 12px auto;
  text-align: center;
}

div.privacy-policies {
  margin: 10px 20px;
}

div.privacy-policies div.policy {
  margin-top: 24px;
}

div.chikai h4,
div.privacy-policies h4 {
  margin: 4px 0 8px 0;
  border-left: 6px solid #960;
  border-bottom: 1px dashed #960;
  color: #960;
  padding: 3px 6px;
}

div.privacy-policies p {
  margin-bottom: 1em;
  margin-left: 12px;
  margin-right: 12px;
}

div.report img.image-left {
  float: left;
  margin: 0 10px 10px 0;
}

div.links {
  margin: 10px 20px;
}

div.links img.image-right,
div.report img.image-right {
  float: right;
  margin: 0 0 10px 10px;
}

div.links img.image-right {
  border: 1px solid #960;
}

div.report div.images {
  text-align: center;
}
div.report div.image img {
  margin: auto 20px;
}

div.contact div.fieldWithErrors {
  display: inline;
}

div.contact div.fieldWithErrors input {
  border: 1px solid red;
}

div.contact {
  margin: 10px 20px;
}

div.contact table.form {
  border-collapse: collapse;
  width: 100%;
}

div.contact table.form th,
div.contact table.form td {
  border-bottom: 1px solid #960;
  margin: 6px 0;
  padding: 6px 4px;
}

div.contact table.form select {
  margin-bottom: 6px;
}

table.form th {
  width: 13em;
  text-align: left;
  color: #960;
  border-right: 1px dotted #960;
}

table.form .notice {
  font-size: 12px;
  color: #555;
}

table.form th.must {
  color: red;
}


div.contact div.submit {
  text-align: center;
  margin: 10px 0;
}
div#contact1, div#contact2, div#contact3, div#contact4 { display: none; }

body.about div.aboutbody {
  margin: 10px 20px;
}

body.about table.about {
  margin-top: 20px;
  border-collapse: collapse;
  width: 100%;

}

body.about div#map_div {
  border: 1px solid #960;
  width: 99%;
  height: 400px;
}

body.about img.rinen {
  margin: 10px 0;
}

body.about p {
  margin-bottom: 1em;
}

body.about table.about th,
body.about table.about td {
  border-bottom: 1px solid #960;
  margin: 6px 0;
  padding: 6px 4px;
}

body.about table.about th {
  width: 13em;
  text-align: left;
  color: #960;
}

body.products table.product-list  {
  width: 100%;
}
body.products table.product-list td {
  text-align: center;
  padding-bottom: 10px;
  vertical-align: top;
}

div.products {
  margin: 10px 20px;
}

div.product-detail {
  margin: 10px 20px;
}

body.products div.buttons {
  width: 570px;
  margin: 0 auto 12px auto;
}
body.products div.next {
  float: right;
}
body.products div.prev {
  float: left;
}

div.product-detail h4 {
  border-bottom: 1px solid #960;
  text-align: center;
  font-size: 16px;
  margin: 16px 10px;
  padding-left: 4px;
}

div.product-detail div.comment {
  border: 1px dotted #960;
  padding: 10px;
  margin: 10px 0;
}

div.product-detail div.image,
div.product-detail div.thumb-list {
  text-align: center;
}

div.product-detail div.thumb-list {
  width: 580px;
  margin: 8px 0 0 0;
  padding: 0;
}
div.product-detail div.thumb-list img {
  margin: 0 2px;
}

div.back-btn {
  text-align: center;
  margin: 10px;
}

div.links {
  margin: 10px;
}

div.links p {
  margin-bottom: 1em;
}

div.links h4 {
  margin: 20px 0 10px 0;
  padding: 3px 6px;
  border-left: 6px solid #960;
  border-bottom: 1px dashed #960;
  font-size: 16px;
}

div.links h4 a {
  text-decoration: none;
  color: #960;
}


div.links h4 a:hover {
  text-decoration: underline;
}

div.links p {
  margin: 0 12px;
}

body.manual div.report {
  margin: 10px 20px 70px 20px;
}

body.products div.product-detail h4,
body.manual h4 {
  margin: 20px 0;
  border-bottom: 2px solid #005825;
  padding-bottom: 14px;
  text-align: center;
  font-size: 18px;
  color: #005825;
  vertical-align: top;
}
body.products div.product-detail h4 {
  margin-bottom: 10px;
}
body.manual h4 img {
  vertical-align: top;
}

body.manual h5 {
  border-left: 6px solid #960;
  border-bottom: 1px dashed #960;
  color: #960;
  padding: 3px 6px;
  margin: 10px 0;
  font-size: 16px;
}

span.new {
  font-weight: bold;
  color: red;
  font-size: 80%;
  font-family: cursive;
}

body.manual div.report div.body {
  margin: 0 12px;
}

body.manual div.report div.report-content {
  margin-bottom: 28px;
}

body.manual ul {
  list-style-position: inside;
  margin: 10px 20px;
  padding: 0;
}

body.manual ul li {
  color: #bb6513;
  border-bottom: 1px dashed #960;
  padding: 6px;
  margin-bottom: 2px;
  font-size: 110%;
}

body.manual ul li a {
  color: #bb6513;
  text-decoration: none;
}
body.manual ul li a:visited {
  color: #e49217;
}

body.manual div.report p {
  margin-bottom: 1em;
}


a {
  color: #bb6513;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:visited {
  color: #e49217;
}

body.home a {
  color: #995303;
}
body.home a:visited {
  color: #b98303;
}

div.chikai, div.access {
  margin: 10px 20px;
}
div.chikai p {
  margin-bottom: 1em;
}

body.event p {
  margin-bottom: 1em;
}

body.event div.event {
  margin: 10px 20px;
}
body.event div.event div.body {
  margin: 0 12px 30px 12px;
}

body.event h4 {
  border-left: 6px solid #960;
  border-bottom: 1px dashed #960;
  padding: 3px 6px;
  color: #960;
  margin: 10px 0;
}

body.event div.comment {
  margin: 0 12px;
}

body.event div.body img {
}

body.home div.banners {
  margin: 12px;
}

body.home #top {
  background: url(/images/top/image.jpg) no-repeat 0 0;
  height: 533px;
  position: relative;
}

body.home #top div.updates {
  position: absolute;
  top: 300px;
  left: 470px;
  width: 310px;
  height: 200px;
  background: url(/images/top/update_bg.jpg) no-repeat 0 0;
}
body.home #top div.updates ul.inner {
  margin: 0;
  padding: 6px 8px;
  font-size: 12px;
  list-style: none;
  line-height: 1.3;
}

body.home #top div.updates ul.inner li {
  display: block;
  border-bottom: 1px dotted white;
  padding: 2px;
}
body.home #top div.updates ul.inner li span {
  font-size: 90%;
}

div.health_salon {
  margin: 10px 20px;
}
div.health_salon p {
  margin-bottom: 1em;
}

div.health_salon .images img {
  vertical-align: bottom;
  border: 4px solid white;
  margin: 4px;
}

div.health_salon table.price {
  border-collapse: collapse;
  border: 1px solid #830;
  border-width:  1px 1px 0;
  margin: 0 0 10px;
}

div.health_salon h4 {
  color: #830;
  font-size: 120%;
}


div.health_salon table.price td {
  border: 1px solid #830;
  padding: 4px 10px;
}