* {
  margin: 0;
  padding: 0;
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  /* background-color: #ecdbdf; */
  font-size: 80%;
  line-height: 1.6;
}

img {
  vertical-align: bottom;
  border: none;
}

p {
  margin-bottom: 1em;
}

a {
  color: #931936;
}

#wrapper {
  width: 798px;
  /*
  border-left: 1px solid #999;
  border-right: 1px solid #999;
  */
  background-color: white;
  margin: 0 auto -80px;
  min-height: 100%;
  height: auto !important;
  height: 100%;
}

#head {
  padding: 4px 20px;
  background-color: #f4c1ce;
  color: #666;
  border-bottom: 1px solid white;
}

#flash {
  margin: 0 4px;
}

#flashmenu {
  list-style: none;
  height: 44px;
}

#flashmenu li {
  display: inline;
}

#flashmenu li a {
  display: block;
  text-indent: -999em;
  float: left;
  margin-right: 2px;
  width: 130px;
  height: 42px;
  background-image: url(/images/top/flashmenu.png);
  background-repeat: no-repeat;
  background-position: 0 0;
}

#flashmenu li.pool a { background-position: -132px 0; }
#flashmenu li.amusement a { background-position: -264px 0; }
#flashmenu li.relaxation a { background-position: -396px 0; }
#flashmenu li.gourmet a { background-position: -528px 0; }
#flashmenu li.hotel a { background-position: -660px 0; }

#flashmenu li a.last {
  margin-right: 0;
}

#menu {
  list-style: none;
  margin: 0 4px;
  position: relative;
}

#menu li {
  float: left;
  position: relative;
  display: block;
}

#menu li:hover {
  cursor: pointer;
}

#menu li ul {  
    width: 159px;
    position: absolute;  
    top: 45px;
    left: 0px;
    display: none;
}

#menu li ul li a {  
    width: 158px;
    height: 25px;
    display: block;
    background: url(/images/common/menu-faq.png) no-repeat;  
    text-indent: -999em;
    display: absolute;
}

#menu li a:hover {
  background-image: url(/images/common/menu-over.png);
}

#menu li ul li.faq a {
    background: url(/images/common/menu-faq.png) no-repeat; 
}
#menu li ul li.faq a:hover {
    background: url(/images/common/menu-faq-over.png) no-repeat; 
}

#menu li ul li.enquete a {
    background: url(/images/common/menu-enquete.png) no-repeat; 
}
#menu li ul li.enquete a:hover {
    background: url(/images/common/menu-enquete-over.png) no-repeat; 
}
#menu li ul li.link a {
    background: url(/images/common/menu-link.png) no-repeat;  
}
#menu li ul li.link a:hover {
    background: url(/images/common/menu-link-over.png) no-repeat;  
}

#menu li a {
  display: block;
  text-indent: -999em;
  overflow: hidden;
  float: left;
  width: 158px;
  height: 50px;
  background-image: url(/images/common/menu.png);
  background-repeat: no-repeat;
  background-position: 0 0;
}

#menu li.information a { }
#menu li.facility a { width: 157px;  background-position: -158px 0; }
#menu li.event a { background-position: -315px 0; }
#menu li.point a { background-position: -473px 0; }
#menu li.access a { background-position: -631px 0; width: 159px; }

#menu li.selected a { background-image: url(/images/common/menu-over.png); }

ul#menu li.facility ul {
  background:none;
  margin-left: -1px;
}
ul#menu li.facility ul li a {
  width: 159px;
  background: url(/images/common/menu-facility.png?2384844);
  height: 27px;
}
ul#menu li.facility ul li.spa a:hover { background-position: -159px 0; }
ul#menu li.facility ul li.ganban a       { background-position: 0 -27px; }
ul#menu li.facility ul li.ganban a:hover { background-position: -159px -27px; }
ul#menu li.facility ul li.leisure-pool a       { background-position: 0 -54px; }
ul#menu li.facility ul li.leisure-pool a:hover { background-position: -159px -54px; }
ul#menu li.facility ul li.amusement a       { background-position: 0 -81px; }
ul#menu li.facility ul li.amusement a:hover { background-position: -159px -81px; }
ul#menu li.facility ul li.bodycare a       { background-position: 0 -108px; }
ul#menu li.facility ul li.bodycare a:hover { background-position: -159px -108px; }
ul#menu li.facility ul li.gourmet_banquet a       { background-position: 0 -135px; }
ul#menu li.facility ul li.gourmet_banquet a:hover { background-position: -159px -135px; }
ul#menu li.facility ul li.other a       { background-position: 0 -162px; }
ul#menu li.facility ul li.other a:hover { background-position: -159px -162px; }
ul#menu li.facility ul li.hotel a       { background-position: 0 -190px; }
ul#menu li.facility ul li.hotel a:hover { background-position: -159px -190px; }

#content {
  margin: 14px;
  clear: both;
}

body.top #content {
  margin: 12px 8px;
}

#news {
  float: left;
  width: 540px;
  margin: 12px 0px;
}

#news h3 {
  padding-bottom: 12px;
  background: url(/images/top/newsline.png) no-repeat 2px bottom;
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: normal;
}

#news .news-item {
  margin-left: 4px;
  margin-bottom: 8px;
  padding-bottom: 12px;
  background: url(/images/top/newsline.png) no-repeat 2px bottom;
}

#news h4 {
  padding-left: 14px;
  background: url(/images/top/newsicon.png) no-repeat left 50%;
  margin-bottom: .4em;
  color: #c40;
}

#news h4 a {
  color: #c40;
}

#news img.newsimage {
  float: right;
  margin-left: 4px;
  margin-right: 14px;
}

#news .news-item p {
  margin: 0;
  overflow: auto;
  zoom: 1;
}

#news .newsbody {
  display: none;
}

#mobile {
  margin: 12px 0 ;
  width: 230px;
  float: right;
  font-size: 85%;
}

#mobile h3 {
  margin: 0 0 6px;
}

#mobile .enquete {
  margin-top: 5px;
}

#mobile .enquete img {
  margin-bottom: 4px;
}

#push, #footer {
  clear: both;
  height: 80px;
}

#footer {
  background: white url(/images/common/footer.png) repeat-x 0 0;
  color: #888;
  width: 798px;
  /*
  border-left: 1px solid #999;
  border-right: 1px solid #999;
  */
  margin: 0 auto;
}

#footer a {
  color: #888;
  text-decoration: none;
}

#footer a:hover {
  text-decoration: underline;
}

#footer .links {
  padding-top: 4px;
  padding-left: 8px;
}

#footer .copyright {
  margin-top: 12px;
  margin-right: 8px;
  text-align: right;
}

h2 {
  padding: 10px 0;
}

/* information */
body.information h3 {
  border-bottom: 2px solid #eee;
  margin: 0 0px .3em;
  background: #4F1D1D;
  color: white;
  padding: 4px 6px;
}
body.information p,
body.information dl {
  margin: 0 12px 1.6em 26px;
  font-size: 120%;
}
body.information dt {
  display: block;
  float: left;
  clear: left;
  width: 6em;
  margin-bottom: .6em;
}
body.information dd {
  display:block;
  float: left;
  width: 40em;
  margin-bottom: .6em;
}

body.information table.price th {
  font-weight: normal;
  padding-right: 1em;
}
body.information table.price td.price {
  text-align: right;
}

body.information table.kaisuken {
  border-collapse: collapse;
  margin: 12px 24px;
  font-size: 120%;
}

body.information table.kaisuken td,
body.information table.kaisuken th {
  border: 1px solid #aaa;
  padding: 4px;
}

body.information table.kaisuken .otoku {
  color: red;
  font-weight: bold;
}

body.information .note {
  font-size: 90%;
  margin-top: 1em;
  margin-left: 22px;
  margin-bottom: 2em;
}

body.information dd .note {
  font-size: 75%;
  margin-left: 0;
}

/* facility */
body.facility div.facility-category {
  margin: 0 12px 50px 12px;
}

body.facility div.facility-category .description {
  border-bottom: 1px solid #591E29;
  margin-bottom: .8em;
  font-family: monospace;
  font-size: 14px;
  color: #333;
  padding: 0.8em;
  background: #f4ead7;
}
body.facility div.facility-category h3 {
 background: #591E29;
color: white;
font-size: 130%;
font-weight: bold;
margin: 0.5em 0px 0;
padding: 4px;
text-align: center;
}

body.facility div.facility-category div.pagetop {
  text-align: right;
  font-size: 12px;
  margin-top: .5em;
}

body.facility table.facilities {
  border-collapse: collapse;
  width: 100%;
}

body.facility table.facilities {
  width: 100%;
}
body.facility table.facilities td {
  padding: 8px;
  text-align: left;
  vertical-align: top;
  width: 25%;
}
body.facility table.facilities td h4 {
  font-size: 120%;
}

body.facility table.facilities td.empty {
  background: url(/images/facility/empty_back.png) no-repeat center center;
}

body.facility table.facilities td img {
  border: 1px solid #888;
}

body.facility table.facilities td a {
  color: #931936;
}

body.facility div.skiplink {
  text-align: right;
}

body.facility div.skiplink a {
  color: #00a;
}

body.facility img#facility_large_image {
  float: left;
  border: 1px solid #ccc;
}

body.facility .smallimages {
  width: 150px;
  float: right;
}

body.facility .smallimages img {
  margin-bottom: 8px;
  border: 1px solid #ccc;
}
body.facility .smallimages a:hover img {
  margin-bottom: 8px;
  border: 1px solid #fa9;
}

body.facility div.map {
  border-bottom: 1px solid #ffc165;
  margin-bottom: 12px;
}

body.facility div.category-links {
  border-bottom: 1px solid #591E29;
  padding-bottom: 10px;
  margin-bottom: 12px;
  text-align: center;
  font-size: 120%;
}
body.facility div.opentime {
  font-weight: bold;
  color: #555;
}

body.facility div.copy {
  font-size: 90%;
  line-height: 1.3;
  margin-top:.4em;
  margin-right: 10px;
  color: #666;
}

div.facility-show h3 {
  color: white;
  background:#591E29;
  padding: 2px 6px;
  margin-bottom: 6px;
  font-size: 150%;
}

div.facility-show #facility_large_image {
  margin-bottom: .8em;
  height: 450px;
}

div.facility-show .img {
  text-align: center;
  margin: 0 8px .7em;
}

div.facility-show #facility_caption {
  text-align: left;
  font-size: 90%;
  margin-top: -0.5em;
  color: #666;
}

div.facility-show .body {
  margin: 10px 10px 20px;
}

div.facility-show .times {
  margin: 10px;
}

div.facility-show .times h4 {
  font-size: 110%;
}

body.facility .season-menus{
  margin-bottom: 24px;
}

body.facility h3.facility-head {
  color: #fff;
  font-weight: bold;
  background: #591E29;
  padding: 2px 6px;
  border: 1px solid #591E29;
  font-size: 120%;
}

body.facility h4 a {
  text-decoration: none;
  color: white;
}

body.facility .season-menus .season-menu {
  margin: 15px 0;
}

body.facility .season-menus h4 {
  border-bottom: 2px solid #931936;
  color: #fff;
  font-size: 120%;
  background: #591E29;
  margin-bottom: .5em;
  padding: 2px 6px;
}

body.facility .season-menus h4.season-title {
}


body.facility .season-menus dt {
  display: block;
  float: left;
  width: 4em;
  margin-bottom: .5em;
  font-weight: bold;
  color: #a60;

}
body.facility .season-menus dd {
  float: left; 
  font-weight: bold;
  color: #a60;
}
body.facility .season-menus .right {
  float: right;
  border: 1px solid #888;
  margin-left: 6px;
}

body.facility .season-menus .body {
  clear: left;
}

/* event */

body.event div.month {
	text-align: center;
	margin: 1em 0 0 0;
}

body.event span.thismonth {
	font-size: 180%;
	font-weight: bold;
	color: #591E29;
}

body.event .calendar {
  margin: 0 auto 40px;
  width: 100%;
  border-collapse: collapse;
  font-size: 85%;
}
body.event .calendar .type1 {
  background-color: #d7c7c6;
}
body.event .calendar .type3 {
  background-color: #e2dcd2;
}
body.event .calendar .type2 {
  background-color: #f4ead7;
}

body.event .calendar a {
  color: #f05;
}
body.event .calendar a:visited {
  color: #c66;
}

body.event .calendar .regular {
  background-color: #dfd;
  padding: 2px;
  margin: 2px 0 1em;
  border-bottom: 1px solid #beb;
}
body.event .calendar .nonregular {
  padding: 2px;
}

body.event .calendar thead th {
	color: white;
	font-size: 140%;
	padding: 4px;
	background-color: #591E29;
}

body.event .calendar th.dayName {
  text-align: center;
	background-color: #c5c0be;
	color: black;
		font-weight: bold;
}

body.event table.calender td,
body.event table.calendar th {
	border: 1px solid #3b2a26;
}

body.event .calendar td.day {
	border: 1px solid #3b2a26;
	vertical-align: top;
	width: 30%;
	padding: 4px;
}

body.event div#events {
  margin: 0 0px;
}

body.event table.event {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: .5em;
}

body.event div.pagetop {
  margin-bottom: 2em;
  text-align: right;
  font-size: 12px;
}

body.event table.event td,
body.event table.event th {
	border: 1px solid #591E29;
	padding: 2px 4px;
	background-color: white;
}

body.event table.event td.body {
	vertical-align: top;
}

body.event table.event td.title {
	background: #591E29 url(/images/link/category_back.png) no-repeat right bottom;
	color: white;
	text-align: center;
	font-size: 120%;
	font-weight: bold;
}

body.event table.event td.image {
	text-align: center;
}

body.event table.event th.caption {
	width: 7em;
	background-color: #c5c0be;
}

body.event table.event td.caption {
	text-align: center;
}

body.event .no-schedule {
	text-align: center;
	width: 650px;
	margin: 10px auto;
	border: 1px solid #272;
	padding: 80px 0;
}

/* point */
body.point div.form {
  margin: 0 auto;
  width: 600px;
}

body.point div.form table {
  border-spacing: 4px;
  width: 100%;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

body.point div.form th {
  border-left: 3px solid #fca;
  text-align: left;
  font-weight: normal;
  padding: 4px 6px;
  width: 8em;
}

body.point div.form th.long {
  background-color: #fca;
  text-align: center;
}

body.point div.form .must {
  color: red;
  font-weight: bold;
}

body.point div.form td input#point_member_addr,
body.point div.form td textarea {
  width: 100%;
}

body.point div.form td.submit {
  text-align: center;
  padding: 8px;
}

body.point div.sent {
  margin: 0 12px;
}

body.point div.benri {
  margin: 20px;
  text-align: center;
}

body.point h3 {
  text-align: center;
}

body.point .point-member ul {
  width: 540px;
  margin: 20px auto;
  text-align: left;
}

/* access */
body.access div.access {
  margin: 0 12px 2em;
}

body.access h3 {
  margin: .5em 0 .8em;
  font-weight: bold;
  font-size: 120%;
  background: #591e29;
  color: white;
  padding: 4px 6px;
}

body.access #railmap {
  border: 1px solid #666;
}

body.access span.right {
  float: right;
  text-align: right;
  font-size: 100%;
}

body.access span.right a {
  color: blue;
  font-weight: normal;
}

/* link */
body.link div.comment {
  text-align: center;
  padding-top: 1em;
}
body.link span.underline {
  text-decoration: underline;
}
body.link div.links {
  margin: 12px 0;
}
body.link h3 {
  background: #591e29;
  font-weight: bold;
  padding: 2px 6px;
  color: #fff;
}
body.link table {
  border-collapse: collapse;
  width: 748px;
  margin: 10px 10px 20px;
  font-size: 90%;
}
body.link table th {
  background-color: #d7c7c6;
  color: #555;
  padding: 2px;
}
body.link tr.top td {
  border-top: 1px dotted #999;
}
body.link table td {
  border-bottom: 1px dotted #999;
  padding: 6px 2px;
}
body.link table  td.name {
  width: 200px;
  border-right: 1px dotted #999;
  text-align: center;
  color: #931936;
}
body.link table .wide {
  width: 200px;
}
body.link table td.time {
  font-size: 90%;
}
body.link table .time {
  width: 140px;
}

body.link table .comment {
}

/* enquete */
body.enquete div.enquete {
  margin: 12px;
}
body.enquete table.form {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
body.enquete table.form td,
body.enquete table.form th {
  border: 1px solid #888;
  padding: 4px;
  text-align: left;
  vertical-align: middle;
  font-weight: normal;
}
body.enquete table.form th {
  background-color: #ddf;
}
body.enquete table.form td.submit {
  text-align: center;
  padding: 8px;
}
body.enquete table.form .radio {
  text-align: center;
}
body.enquete table.form textarea {
  width: 99%;
}
body.enquete table.form th.hr {
  font-size: 1px;
  line-height: 0.1;
  padding: 0;
  height: 1px;
  background-color: #ccc;
}

body.enquete table.form td.space {
  width: 200px;
}

body.enquete div.fieldWithErrors {
  display: inline;
}

body.enquete div.fieldWithErrors input {
  border: 2px solid red;
}

/* faq */
body.faq h3 {
  margin: 0;
  font-size: 140%;
  font-weight: normal;
  border-bottom: 1px solid #aaa;
  color: #4F1D1D;
}
body.faq div.index {
  margin: 0 12px;
}

body.faq hr {
  border-top: 3px double #4F1D1D;
  border-left: none;
  border-right: none;
  border-bottom: 4px solid #4F1D1D;
  margin-bottom: 20px;
}

body.faq div.index table {
  width: 100%;
  border-spacing: 10px;
  margin-bottom: 20px;
}

body.faq div.index table td {
  width: 50%;
  padding-left: 17px;
  background: url(/images/faq/question-mini.png) no-repeat 3px 4px;
  border-bottom: 1px dashed #aaa;
}
body.faq div.index table td.noquestion {
  background: none;
}

body.faq div.faqs {
  margin: 0 12px 12px;
}
body.faq div.question {
  padding: 4px 4px 4px 28px;
  font-size: 120%;
  background: #d7c7c6 url(/images/faq/question.png) no-repeat 5px 6px;
  border: 1px solid #999;
  font-weight: bold;
}

body.faq div.answer {
  padding: 6px 4px 4px 28px;
  background: white url(/images/faq/answer.png) no-repeat 5px 6px;
  margin-bottom: 20px;
  border: 1px solid #999;
  border-top: none;
}

body.faq .backtop {
  text-align: right;
  margin-top: 4px;
}

body.faq .backtop a {
  color: #777;
}

/* terms */
/* privacy */
body.terms div.terms,
body.privacy div.privacy-policy {
  font-size: 80%;
  margin: 10px;
}

body.terms h3,
body.privacy h3 {
  margin: 1em 0 .3em;
  color: #b95513;
}

body.terms h4,
body.privacy h4 {
  margin: 1em 0 .3em 1em;
}

body.terms p,
body.privacy p {
  margin: 0 0 1em 1em;
}

body.privacy ul {
  margin: 0 3em;
  padding: 0;
}

body.recruit  div.recruit h3 {
  background: #591e29;
  font-weight: bold;
  padding: 2px 6px;
  color: #fff;
}

body.recruit div.recruit table {
  border-collapse: collapse;
  width: 746px;
}

body.recruit  div.recruit th {
  margin-bottom: .5em;
  font-weight: bold;
  color: #a60;
  border: 1px solid #ccc;
  text-align: left;
  vertical-align: top;
  padding: 6px;
  width: 7em;

}
body.recruit   div.recruit td {
  border: 1px solid #ccc;
  padding: 6px;
}

/* errors */
.errorExplanation {
  margin-bottom: 2em;
}
.errorExplanation h3 {
  color: #c00;
}

.errorExplanation ul {
  margin-left: 2em;
  color: #c00;
}